0s autopkgtest [06:16:33]: starting date and time: 2025-10-28 06:16:33+0000 0s autopkgtest [06:16:33]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [06:16:33]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work._l4h0th1/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:beautifulsoup4 --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=beautifulsoup4/4.14.2-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@bos03-arm64-13.secgroup --name adt-resolute-arm64-translate-toolkit-20251028-061633-juju-7f2275-prod-proposed-migration-environment-15-dab30b12-121a-4ebd-97df-7f0de56a3d66 --image adt/ubuntu-resolute-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-proposed-migration -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 3s Creating nova instance adt-resolute-arm64-translate-toolkit-20251028-061633-juju-7f2275-prod-proposed-migration-environment-15-dab30b12-121a-4ebd-97df-7f0de56a3d66 from image adt/ubuntu-resolute-arm64-server-20251027.img (UUID 0c8717a7-1983-4858-8ad5-6d56cfcb3438)... 89s autopkgtest [06:18:02]: testbed dpkg architecture: arm64 89s autopkgtest [06:18:02]: testbed apt version: 3.1.8ubuntu1 90s autopkgtest [06:18:03]: @@@@@@@@@@@@@@@@@@@@ test bed setup 90s autopkgtest [06:18:03]: testbed release detected to be: None 91s autopkgtest [06:18:04]: updating testbed package index (apt update) 92s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 92s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 92s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 92s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 92s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5856 B] 92s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [3342 kB] 93s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [61.7 kB] 93s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [216 kB] 93s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 Packages [252 kB] 93s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 c-n-f Metadata [2440 B] 93s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 Packages [44.3 kB] 93s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 c-n-f Metadata [324 B] 93s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 Packages [839 kB] 93s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 c-n-f Metadata [7312 B] 93s Get:15 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 Packages [6752 B] 93s Get:16 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 c-n-f Metadata [376 B] 96s Fetched 4865 kB in 2s (2309 kB/s) 97s Reading package lists... 98s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 98s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 98s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 98s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 100s Reading package lists... 100s Reading package lists... 100s Building dependency tree... 100s Reading state information... 101s Calculating upgrade... 101s The following NEW packages will be installed: 101s util-linux-extra 101s The following packages will be upgraded: 101s bsdextrautils bsdutils fdisk libblkid1 libfdisk1 liblastlog2-2 libmount1 101s libsmartcols1 libuuid1 login mount python3-cffi-backend util-linux 101s uuid-runtime 102s 14 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 102s Need to get 2847 kB of archives. 102s After this operation, 1738 kB of additional disk space will be used. 102s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 fdisk arm64 2.41.2-4ubuntu1 [149 kB] 102s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 libblkid1 arm64 2.41.2-4ubuntu1 [139 kB] 102s Get:3 http://ftpmaster.internal/ubuntu resolute/main arm64 libmount1 arm64 2.41.2-4ubuntu1 [173 kB] 102s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 libsmartcols1 arm64 2.41.2-4ubuntu1 [96.2 kB] 102s Get:5 http://ftpmaster.internal/ubuntu resolute/main arm64 mount arm64 2.41.2-4ubuntu1 [145 kB] 102s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 uuid-runtime arm64 2.41.2-4ubuntu1 [56.9 kB] 102s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 libuuid1 arm64 2.41.2-4ubuntu1 [45.3 kB] 102s Get:8 http://ftpmaster.internal/ubuntu resolute/main arm64 libfdisk1 arm64 2.41.2-4ubuntu1 [173 kB] 102s Get:9 http://ftpmaster.internal/ubuntu resolute/main arm64 bsdutils arm64 1:2.41.2-4ubuntu1 [93.0 kB] 102s Get:10 http://ftpmaster.internal/ubuntu resolute/main arm64 util-linux arm64 2.41.2-4ubuntu1 [1082 kB] 102s Get:11 http://ftpmaster.internal/ubuntu resolute/main arm64 bsdextrautils arm64 2.41.2-4ubuntu1 [94.1 kB] 102s Get:12 http://ftpmaster.internal/ubuntu resolute/main arm64 login arm64 1:4.16.0-2+really2.41.2-4ubuntu1 [94.9 kB] 102s Get:13 http://ftpmaster.internal/ubuntu resolute/main arm64 liblastlog2-2 arm64 2.41.2-4ubuntu1 [35.7 kB] 102s Get:14 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-cffi-backend arm64 2.0.0-2 [110 kB] 102s Get:15 http://ftpmaster.internal/ubuntu resolute/universe arm64 util-linux-extra arm64 2.41.2-4ubuntu1 [361 kB] 103s dpkg-preconfigure: unable to re-open stdin: No such file or directory 103s Fetched 2847 kB in 1s (2829 kB/s) 104s (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 ... 83387 files and directories currently installed.) 104s Preparing to unpack .../fdisk_2.41.2-4ubuntu1_arm64.deb ... 104s Unpacking fdisk (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 104s Preparing to unpack .../libblkid1_2.41.2-4ubuntu1_arm64.deb ... 104s Unpacking libblkid1:arm64 (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 104s Setting up libblkid1:arm64 (2.41.2-4ubuntu1) ... 104s (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 ... 83387 files and directories currently installed.) 104s Preparing to unpack .../libmount1_2.41.2-4ubuntu1_arm64.deb ... 104s Unpacking libmount1:arm64 (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 104s Setting up libmount1:arm64 (2.41.2-4ubuntu1) ... 105s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 83387 files and directories currently installed.) 105s Preparing to unpack .../libsmartcols1_2.41.2-4ubuntu1_arm64.deb ... 105s Unpacking libsmartcols1:arm64 (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 105s Setting up libsmartcols1:arm64 (2.41.2-4ubuntu1) ... 105s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 83387 files and directories currently installed.) 105s Preparing to unpack .../mount_2.41.2-4ubuntu1_arm64.deb ... 105s Unpacking mount (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 105s Preparing to unpack .../uuid-runtime_2.41.2-4ubuntu1_arm64.deb ... 105s Unpacking uuid-runtime (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 105s Preparing to unpack .../libuuid1_2.41.2-4ubuntu1_arm64.deb ... 105s Unpacking libuuid1:arm64 (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 105s Setting up libuuid1:arm64 (2.41.2-4ubuntu1) ... 106s (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 ... 83387 files and directories currently installed.) 106s Preparing to unpack .../libfdisk1_2.41.2-4ubuntu1_arm64.deb ... 106s Unpacking libfdisk1:arm64 (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 106s Preparing to unpack .../bsdutils_1%3a2.41.2-4ubuntu1_arm64.deb ... 106s Unpacking bsdutils (1:2.41.2-4ubuntu1) over (1:2.41-4ubuntu4) ... 106s Setting up bsdutils (1:2.41.2-4ubuntu1) ... 106s (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 ... 83384 files and directories currently installed.) 106s Preparing to unpack .../util-linux_2.41.2-4ubuntu1_arm64.deb ... 106s Unpacking util-linux (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 106s Setting up util-linux (2.41.2-4ubuntu1) ... 108s fstrim.service is a disabled or a static unit not running, not starting it. 108s (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 ... 83355 files and directories currently installed.) 108s Preparing to unpack .../bsdextrautils_2.41.2-4ubuntu1_arm64.deb ... 108s Unpacking bsdextrautils (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 108s Preparing to unpack .../login_1%3a4.16.0-2+really2.41.2-4ubuntu1_arm64.deb ... 108s Unpacking login (1:4.16.0-2+really2.41.2-4ubuntu1) over (1:4.16.0-2+really2.41-4ubuntu4) ... 108s Preparing to unpack .../liblastlog2-2_2.41.2-4ubuntu1_arm64.deb ... 108s Unpacking liblastlog2-2:arm64 (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 109s Setting up liblastlog2-2:arm64 (2.41.2-4ubuntu1) ... 109s (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 ... 83350 files and directories currently installed.) 109s Preparing to unpack .../python3-cffi-backend_2.0.0-2_arm64.deb ... 109s Unpacking python3-cffi-backend:arm64 (2.0.0-2) over (1.17.1-3build1) ... 109s Selecting previously unselected package util-linux-extra. 109s Preparing to unpack .../util-linux-extra_2.41.2-4ubuntu1_arm64.deb ... 109s Unpacking util-linux-extra (2.41.2-4ubuntu1) ... 109s Setting up bsdextrautils (2.41.2-4ubuntu1) ... 109s Setting up libfdisk1:arm64 (2.41.2-4ubuntu1) ... 109s Setting up mount (2.41.2-4ubuntu1) ... 109s Setting up uuid-runtime (2.41.2-4ubuntu1) ... 111s uuidd.service is a disabled or a static unit not running, not starting it. 111s Setting up util-linux-extra (2.41.2-4ubuntu1) ... 111s Setting up python3-cffi-backend:arm64 (2.0.0-2) ... 111s Setting up login (1:4.16.0-2+really2.41.2-4ubuntu1) ... 111s Setting up fdisk (2.41.2-4ubuntu1) ... 111s Processing triggers for man-db (2.13.1-1) ... 114s Processing triggers for libc-bin (2.42-0ubuntu3) ... 114s autopkgtest [06:18:27]: upgrading testbed (apt dist-upgrade and autopurge) 115s Reading package lists... 115s Building dependency tree... 115s Reading state information... 115s Calculating upgrade... 116s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 116s Reading package lists... 117s Building dependency tree... 117s Reading state information... 117s Solving dependencies... 117s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 118s autopkgtest [06:18:31]: rebooting testbed after setup commands that affected boot 153s autopkgtest [06:19:06]: testbed running kernel: Linux 6.17.0-5-generic #5-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 22 09:50:31 UTC 2025 156s autopkgtest [06:19:09]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 160s Get:1 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.15.1-1 (dsc) [3193 B] 160s Get:2 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.15.1-1 (tar) [1170 kB] 160s Get:3 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.15.1-1 (diff) [24.9 kB] 161s gpgv: Signature made Fri Mar 14 13:03:50 2025 UTC 161s gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 161s gpgv: Can't check signature: No public key 161s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.15.1-1.dsc: no acceptable signature found 161s autopkgtest [06:19:14]: testing package translate-toolkit version 3.15.1-1 162s autopkgtest [06:19:15]: build not needed 168s autopkgtest [06:19:21]: test translate-toolkit: preparing testbed 169s Reading package lists... 169s Building dependency tree... 169s Reading state information... 169s Solving dependencies... 170s The following NEW packages will be installed: 170s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 170s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 170s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 170s python3-aeidon python3-bs4 python3-charset-normalizer python3-cheroot 170s python3-cwcwidth python3-dateutil python3-diff-match-patch python3-enchant 170s python3-iniparse python3-levenshtein python3-lxml python3-mistletoe 170s python3-phply python3-ply python3-pycountry python3-pytz python3-rapidfuzz 170s python3-ruamel.yaml python3-ruamel.yaml.clib python3-soupsieve 170s python3-translate python3-vobject python3-xapian subversion 170s translate-toolkit 170s 0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded. 170s Need to get 12.2 MB of archives. 170s After this operation, 62.3 MB of additional disk space will be used. 170s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 emacsen-common all 3.0.8 [13.9 kB] 170s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 dictionaries-common all 1.30.10 [178 kB] 171s Get:3 http://ftpmaster.internal/ubuntu resolute/main arm64 libgomp1 arm64 15.2.0-5ubuntu1 [148 kB] 171s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 gettext arm64 0.23.1-2build2 [1026 kB] 171s Get:5 http://ftpmaster.internal/ubuntu resolute/main arm64 hunspell-en-us all 1:2020.12.07-4 [585 kB] 171s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 libapr1t64 arm64 1.7.5-1 [106 kB] 171s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 libaprutil1t64 arm64 1.6.3-3ubuntu2 [95.1 kB] 171s Get:8 http://ftpmaster.internal/ubuntu resolute/main arm64 libaspell15 arm64 0.60.8.1-4 [319 kB] 171s Get:9 http://ftpmaster.internal/ubuntu resolute/main arm64 libhunspell-1.7-0 arm64 1.7.2+really1.7.2-10build3 [274 kB] 171s Get:10 http://ftpmaster.internal/ubuntu resolute/main arm64 libenchant-2-2 arm64 2.8.2+dfsg1-3 [57.8 kB] 171s Get:11 http://ftpmaster.internal/ubuntu resolute/main arm64 libexttextcat-data all 3.4.7-1ubuntu1 [193 kB] 171s Get:12 http://ftpmaster.internal/ubuntu resolute/universe arm64 libserf-1-1 arm64 1.3.10-3ubuntu1 [48.7 kB] 171s Get:13 http://ftpmaster.internal/ubuntu resolute/universe arm64 libutf8proc3 arm64 2.10.0-2 [71.3 kB] 171s Get:14 http://ftpmaster.internal/ubuntu resolute/universe arm64 libsvn1 arm64 1.14.5-4 [1423 kB] 171s Get:15 http://ftpmaster.internal/ubuntu resolute/universe arm64 libxapian30 arm64 1.4.29-3 [684 kB] 171s Get:16 http://ftpmaster.internal/ubuntu resolute/main arm64 libxslt1.1 arm64 1.1.43-0.3 [172 kB] 171s Get:17 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-aeidon all 1.15-2 [231 kB] 171s Get:18 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-soupsieve all 2.7-2 [33.6 kB] 171s Get:19 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 python3-bs4 all 4.14.2-1 [82.8 kB] 171s Get:20 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-charset-normalizer arm64 3.4.2-1 [125 kB] 171s Get:21 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-cheroot all 10.0.1+ds1-4 [78.6 kB] 171s Get:22 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-cwcwidth arm64 0.1.10-1build2 [27.0 kB] 171s Get:23 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-dateutil all 2.9.0-4 [80.3 kB] 171s Get:24 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-diff-match-patch all 20241021-1 [33.6 kB] 171s Get:25 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-enchant all 3.3.0~rc1-1 [35.1 kB] 171s Get:26 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-rapidfuzz arm64 3.12.2+ds-1build1 [1368 kB] 172s Get:27 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-levenshtein arm64 0.27.1-2build1 [132 kB] 172s Get:28 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-lxml arm64 6.0.1-1build1 [2149 kB] 172s Get:29 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-mistletoe all 1.4.0-1 [38.2 kB] 172s Get:30 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-ply all 3.11-9 [45.8 kB] 172s Get:31 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-phply all 1.2.6-1 [50.5 kB] 172s Get:32 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-pytz all 2025.2-4 [32.3 kB] 172s Get:33 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-ruamel.yaml.clib arm64 0.2.12+ds-1build1 [138 kB] 172s Get:34 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 172s Get:35 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-translate all 3.15.1-1 [319 kB] 172s Get:36 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-vobject all 0.9.9+dfsg-1 [41.5 kB] 172s Get:37 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-xapian arm64 1.4.29-1build1 [561 kB] 172s Get:38 http://ftpmaster.internal/ubuntu resolute/universe arm64 subversion arm64 1.14.5-4 [904 kB] 172s Get:39 http://ftpmaster.internal/ubuntu resolute/universe arm64 translate-toolkit all 3.15.1-1 [81.0 kB] 172s Get:40 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-iniparse all 0.5.1-1 [21.2 kB] 172s Get:41 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 172s Preconfiguring packages ... 173s Fetched 12.2 MB in 2s (6333 kB/s) 173s Selecting previously unselected package emacsen-common. 173s (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 ... 83455 files and directories currently installed.) 173s Preparing to unpack .../00-emacsen-common_3.0.8_all.deb ... 173s Unpacking emacsen-common (3.0.8) ... 173s Selecting previously unselected package dictionaries-common. 173s Preparing to unpack .../01-dictionaries-common_1.30.10_all.deb ... 173s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 173s Unpacking dictionaries-common (1.30.10) ... 173s Selecting previously unselected package libgomp1:arm64. 173s Preparing to unpack .../02-libgomp1_15.2.0-5ubuntu1_arm64.deb ... 173s Unpacking libgomp1:arm64 (15.2.0-5ubuntu1) ... 173s Selecting previously unselected package gettext. 174s Preparing to unpack .../03-gettext_0.23.1-2build2_arm64.deb ... 174s Unpacking gettext (0.23.1-2build2) ... 174s Selecting previously unselected package hunspell-en-us. 174s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-4_all.deb ... 174s Unpacking hunspell-en-us (1:2020.12.07-4) ... 174s Selecting previously unselected package libapr1t64:arm64. 174s Preparing to unpack .../05-libapr1t64_1.7.5-1_arm64.deb ... 174s Unpacking libapr1t64:arm64 (1.7.5-1) ... 174s Selecting previously unselected package libaprutil1t64:arm64. 174s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu2_arm64.deb ... 174s Unpacking libaprutil1t64:arm64 (1.6.3-3ubuntu2) ... 174s Selecting previously unselected package libaspell15:arm64. 174s Preparing to unpack .../07-libaspell15_0.60.8.1-4_arm64.deb ... 174s Unpacking libaspell15:arm64 (0.60.8.1-4) ... 174s Selecting previously unselected package libhunspell-1.7-0:arm64. 174s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_arm64.deb ... 174s Unpacking libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 174s Selecting previously unselected package libenchant-2-2:arm64. 174s Preparing to unpack .../09-libenchant-2-2_2.8.2+dfsg1-3_arm64.deb ... 174s Unpacking libenchant-2-2:arm64 (2.8.2+dfsg1-3) ... 174s Selecting previously unselected package libexttextcat-data. 174s Preparing to unpack .../10-libexttextcat-data_3.4.7-1ubuntu1_all.deb ... 174s Unpacking libexttextcat-data (3.4.7-1ubuntu1) ... 174s Selecting previously unselected package libserf-1-1:arm64. 174s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_arm64.deb ... 174s Unpacking libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 174s Selecting previously unselected package libutf8proc3:arm64. 174s Preparing to unpack .../12-libutf8proc3_2.10.0-2_arm64.deb ... 174s Unpacking libutf8proc3:arm64 (2.10.0-2) ... 174s Selecting previously unselected package libsvn1:arm64. 174s Preparing to unpack .../13-libsvn1_1.14.5-4_arm64.deb ... 174s Unpacking libsvn1:arm64 (1.14.5-4) ... 174s Selecting previously unselected package libxapian30:arm64. 174s Preparing to unpack .../14-libxapian30_1.4.29-3_arm64.deb ... 174s Unpacking libxapian30:arm64 (1.4.29-3) ... 174s Selecting previously unselected package libxslt1.1:arm64. 174s Preparing to unpack .../15-libxslt1.1_1.1.43-0.3_arm64.deb ... 174s Unpacking libxslt1.1:arm64 (1.1.43-0.3) ... 175s Selecting previously unselected package python3-aeidon. 175s Preparing to unpack .../16-python3-aeidon_1.15-2_all.deb ... 175s Unpacking python3-aeidon (1.15-2) ... 175s Selecting previously unselected package python3-soupsieve. 175s Preparing to unpack .../17-python3-soupsieve_2.7-2_all.deb ... 175s Unpacking python3-soupsieve (2.7-2) ... 175s Selecting previously unselected package python3-bs4. 175s Preparing to unpack .../18-python3-bs4_4.14.2-1_all.deb ... 175s Unpacking python3-bs4 (4.14.2-1) ... 175s Selecting previously unselected package python3-charset-normalizer. 175s Preparing to unpack .../19-python3-charset-normalizer_3.4.2-1_arm64.deb ... 175s Unpacking python3-charset-normalizer (3.4.2-1) ... 175s Selecting previously unselected package python3-cheroot. 175s Preparing to unpack .../20-python3-cheroot_10.0.1+ds1-4_all.deb ... 175s Unpacking python3-cheroot (10.0.1+ds1-4) ... 175s Selecting previously unselected package python3-cwcwidth. 175s Preparing to unpack .../21-python3-cwcwidth_0.1.10-1build2_arm64.deb ... 175s Unpacking python3-cwcwidth (0.1.10-1build2) ... 175s Selecting previously unselected package python3-dateutil. 175s Preparing to unpack .../22-python3-dateutil_2.9.0-4_all.deb ... 175s Unpacking python3-dateutil (2.9.0-4) ... 175s Selecting previously unselected package python3-diff-match-patch. 175s Preparing to unpack .../23-python3-diff-match-patch_20241021-1_all.deb ... 175s Unpacking python3-diff-match-patch (20241021-1) ... 175s Selecting previously unselected package python3-enchant. 175s Preparing to unpack .../24-python3-enchant_3.3.0~rc1-1_all.deb ... 175s Unpacking python3-enchant (3.3.0~rc1-1) ... 175s Selecting previously unselected package python3-rapidfuzz. 175s Preparing to unpack .../25-python3-rapidfuzz_3.12.2+ds-1build1_arm64.deb ... 175s Unpacking python3-rapidfuzz (3.12.2+ds-1build1) ... 175s Selecting previously unselected package python3-levenshtein. 175s Preparing to unpack .../26-python3-levenshtein_0.27.1-2build1_arm64.deb ... 175s Unpacking python3-levenshtein (0.27.1-2build1) ... 176s Selecting previously unselected package python3-lxml:arm64. 176s Preparing to unpack .../27-python3-lxml_6.0.1-1build1_arm64.deb ... 176s Unpacking python3-lxml:arm64 (6.0.1-1build1) ... 176s Selecting previously unselected package python3-mistletoe. 176s Preparing to unpack .../28-python3-mistletoe_1.4.0-1_all.deb ... 176s Unpacking python3-mistletoe (1.4.0-1) ... 176s Selecting previously unselected package python3-ply. 176s Preparing to unpack .../29-python3-ply_3.11-9_all.deb ... 176s Unpacking python3-ply (3.11-9) ... 176s Selecting previously unselected package python3-phply. 176s Preparing to unpack .../30-python3-phply_1.2.6-1_all.deb ... 176s Unpacking python3-phply (1.2.6-1) ... 176s Selecting previously unselected package python3-pytz. 176s Preparing to unpack .../31-python3-pytz_2025.2-4_all.deb ... 176s Unpacking python3-pytz (2025.2-4) ... 176s Selecting previously unselected package python3-ruamel.yaml.clib. 176s Preparing to unpack .../32-python3-ruamel.yaml.clib_0.2.12+ds-1build1_arm64.deb ... 176s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 176s Selecting previously unselected package python3-ruamel.yaml. 176s Preparing to unpack .../33-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 176s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 176s Selecting previously unselected package python3-translate. 176s Preparing to unpack .../34-python3-translate_3.15.1-1_all.deb ... 176s Unpacking python3-translate (3.15.1-1) ... 176s Selecting previously unselected package python3-vobject. 176s Preparing to unpack .../35-python3-vobject_0.9.9+dfsg-1_all.deb ... 176s Unpacking python3-vobject (0.9.9+dfsg-1) ... 177s Selecting previously unselected package python3-xapian. 177s Preparing to unpack .../36-python3-xapian_1.4.29-1build1_arm64.deb ... 177s Unpacking python3-xapian (1.4.29-1build1) ... 177s Selecting previously unselected package subversion. 177s Preparing to unpack .../37-subversion_1.14.5-4_arm64.deb ... 177s Unpacking subversion (1.14.5-4) ... 177s Selecting previously unselected package translate-toolkit. 177s Preparing to unpack .../38-translate-toolkit_3.15.1-1_all.deb ... 177s Unpacking translate-toolkit (3.15.1-1) ... 177s Selecting previously unselected package python3-iniparse. 177s Preparing to unpack .../39-python3-iniparse_0.5.1-1_all.deb ... 177s Unpacking python3-iniparse (0.5.1-1) ... 177s Selecting previously unselected package python3-pycountry. 177s Preparing to unpack .../40-python3-pycountry_24.6.1+ds1-1_all.deb ... 177s Unpacking python3-pycountry (24.6.1+ds1-1) ... 177s Setting up libxapian30:arm64 (1.4.29-3) ... 177s Setting up python3-rapidfuzz (3.12.2+ds-1build1) ... 177s Setting up python3-diff-match-patch (20241021-1) ... 178s Setting up python3-aeidon (1.15-2) ... 178s Setting up libutf8proc3:arm64 (2.10.0-2) ... 178s Setting up libaspell15:arm64 (0.60.8.1-4) ... 178s Setting up python3-charset-normalizer (3.4.2-1) ... 178s Setting up python3-ply (3.11-9) ... 179s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 179s Setting up python3-pytz (2025.2-4) ... 179s Setting up libgomp1:arm64 (15.2.0-5ubuntu1) ... 179s Setting up emacsen-common (3.0.8) ... 179s Setting up python3-cheroot (10.0.1+ds1-4) ... 179s Setting up python3-pycountry (24.6.1+ds1-1) ... 179s Setting up python3-xapian (1.4.29-1build1) ... 180s Setting up python3-cwcwidth (0.1.10-1build2) ... 180s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 180s Setting up python3-mistletoe (1.4.0-1) ... 181s Setting up libexttextcat-data (3.4.7-1ubuntu1) ... 181s Setting up libapr1t64:arm64 (1.7.5-1) ... 181s Setting up libxslt1.1:arm64 (1.1.43-0.3) ... 181s Setting up python3-dateutil (2.9.0-4) ... 181s Setting up python3-levenshtein (0.27.1-2build1) ... 181s Setting up libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 181s Setting up python3-soupsieve (2.7-2) ... 181s Setting up python3-iniparse (0.5.1-1) ... 182s Setting up libaprutil1t64:arm64 (1.6.3-3ubuntu2) ... 182s Setting up python3-vobject (0.9.9+dfsg-1) ... 182s Setting up gettext (0.23.1-2build2) ... 182s Setting up python3-phply (1.2.6-1) ... 182s Setting up dictionaries-common (1.30.10) ... 183s Setting up libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 183s Setting up python3-bs4 (4.14.2-1) ... 183s Setting up python3-lxml:arm64 (6.0.1-1build1) ... 184s Setting up hunspell-en-us (1:2020.12.07-4) ... 184s Setting up libsvn1:arm64 (1.14.5-4) ... 184s Setting up libenchant-2-2:arm64 (2.8.2+dfsg1-3) ... 184s Setting up subversion (1.14.5-4) ... 184s Setting up python3-enchant (3.3.0~rc1-1) ... 184s Setting up python3-translate (3.15.1-1) ... 185s Setting up translate-toolkit (3.15.1-1) ... 185s Processing triggers for libc-bin (2.42-0ubuntu3) ... 185s Processing triggers for man-db (2.13.1-1) ... 187s Processing triggers for install-info (7.1.1-1ubuntu1) ... 188s Processing triggers for dictionaries-common (1.30.10) ... 189s autopkgtest [06:19:42]: test translate-toolkit: [----------------------- 190s ========= SMOKE TEST: /usr/bin/android2po =========== 190s Usage: android2po [--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 Android string files to Gettext PO localization files. See: 190s http://docs.translatehouse.org/projects/translate- 190s toolkit/en/latest/commands/android2po.html for examples and usage 190s 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 xml 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 -t TEMPLATE, --template=TEMPLATE 190s read from TEMPLATE in xml format 190s -S, --timestamp skip conversion if the output file has newer timestamp 190s --duplicates=DUPLICATESTYLE 190s what to do with duplicate strings (identical source 190s text): merge, msgctxt (default: 'msgctxt') 190s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 190s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 190s input files [input files ...] 190s 190s positional arguments: 190s input files 190s 190s options: 190s -h, --help show this help message and exit 190s -d, --tmdb TMDB_FILE translation memory database file (default: tm.db) 190s -s, --import-source-lang SOURCE_LANG 190s source language of translation files (default: en) 190s -t, --import-target-lang TARGET_LANG 190s target language of translation files 190s ========= SMOKE TEST: /usr/bin/csv2po =========== 190s 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] 190s 190s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 190s See: http://docs.translatehouse.org/projects/translate- 190s toolkit/en/latest/commands/csv2po.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 csv 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 -t TEMPLATE, --template=TEMPLATE 190s read from TEMPLATE in po, pot, 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 --charset=CHARSET set charset to decode from csv files 190s --columnorder=COLUMNORDER 190s specify the order and position of columns 190s (location,source,target,context) 190s --duplicates=DUPLICATESTYLE 190s what to do with duplicate strings (identical source 190s text): merge, msgctxt (default: 'msgctxt') 190s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 191s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 191s 191s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 191s glossary file. See: http://docs.translatehouse.org/projects/translate- 191s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 191s 191s Options: 191s --version show program's version number and exit 191s -h, --help show this help message and exit 191s --manpage output a manpage based on the help 191s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 191s --errorlevel=ERRORLEVEL 191s show errorlevel as: none, message, exception, 191s traceback 191s -i INPUT, --input=INPUT 191s read from INPUT in csv format 191s -x EXCLUDE, --exclude=EXCLUDE 191s exclude names matching EXCLUDE from input paths 191s -o OUTPUT, --output=OUTPUT 191s write to OUTPUT in tbx format 191s -S, --timestamp skip conversion if the output file has newer timestamp 191s --charset=CHARSET set charset to decode from csv files 191s --columnorder=COLUMNORDER 191s specify the order and position of columns 191s (comment,source,target) 191s ========= SMOKE TEST: /usr/bin/dtd2po =========== 191s 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] 191s 191s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 191s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 191s this module You can convert back to .dtd using po2dtd.py. 191s 191s Options: 191s --version show program's version number and exit 191s -h, --help show this help message and exit 191s --manpage output a manpage based on the help 191s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 191s --errorlevel=ERRORLEVEL 191s show errorlevel as: none, message, exception, 191s traceback 191s -i INPUT, --input=INPUT 191s read from INPUT in dtd format 191s -x EXCLUDE, --exclude=EXCLUDE 191s exclude names matching EXCLUDE from input paths 191s -o OUTPUT, --output=OUTPUT 191s write to OUTPUT in po, pot formats 191s -t TEMPLATE, --template=TEMPLATE 191s read from TEMPLATE in dtd format 191s -S, --timestamp skip conversion if the output file has newer timestamp 191s -P, --pot output PO Templates (.pot) rather than PO files (.po) 191s --duplicates=DUPLICATESTYLE 191s what to do with duplicate strings (identical source 191s text): merge, msgctxt (default: 'msgctxt') 191s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 191s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 191s 191s Convert flat XML files to Gettext PO localization files. See: 191s http://docs.translatehouse.org/projects/translate- 191s toolkit/en/latest/commands/flatxml2po.html for examples and usage 191s instructions. 191s 191s Options: 191s --version show program's version number and exit 191s -h, --help show this help message and exit 191s --manpage output a manpage based on the help 191s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 191s --errorlevel=ERRORLEVEL 191s show errorlevel as: none, message, exception, 191s traceback 191s -i INPUT, --input=INPUT 191s read from INPUT in xml format 191s -x EXCLUDE, --exclude=EXCLUDE 191s exclude names matching EXCLUDE from input paths 191s -o OUTPUT, --output=OUTPUT 191s write to OUTPUT in po, pot formats 191s -S, --timestamp skip conversion if the output file has newer timestamp 191s -r ROOT, --root=ROOT name of the XML root element (default: "root") 191s -v VALUE, --value=VALUE 191s name of the XML value element (default: "str") 191s -k KEY, --key=KEY name of the XML key attribute (default: "key") 191s -n NS, --namespace=NS 191s XML namespace uri (default: None) 192s ========= SMOKE TEST: /usr/bin/html2po =========== 192s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 192s 192s Convert HTML files to Gettext PO localization files. See: 192s http://docs.translatehouse.org/projects/translate- 192s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 192s 192s Options: 192s --version show program's version number and exit 192s -h, --help show this help message and exit 192s --manpage output a manpage based on the help 192s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 192s --errorlevel=ERRORLEVEL 192s show errorlevel as: none, message, exception, 192s traceback 192s -i INPUT, --input=INPUT 192s read from INPUT in htm, html, xhtml formats 192s -x EXCLUDE, --exclude=EXCLUDE 192s exclude names matching EXCLUDE from input paths 192s -o OUTPUT, --output=OUTPUT 192s write to OUTPUT in po, pot formats 192s -S, --timestamp skip conversion if the output file has newer timestamp 192s -P, --pot output PO Templates (.pot) rather than PO files (.po) 192s --keepcomments preserve html comments as translation notes in the 192s output 192s --duplicates=DUPLICATESTYLE 192s what to do with duplicate strings (identical source 192s text): merge, msgctxt (default: 'msgctxt') 192s --multifile=MULTIFILESTYLE 192s how to split po/pot files (single, toplevel or 192s onefile) 192s ========= SMOKE TEST: /usr/bin/ical2po =========== 192s 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] 192s 192s Convert iCalendar files to Gettext PO localization files. See: 192s http://docs.translatehouse.org/projects/translate- 192s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 192s 192s Options: 192s --version show program's version number and exit 192s -h, --help show this help message and exit 192s --manpage output a manpage based on the help 192s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 192s --errorlevel=ERRORLEVEL 192s show errorlevel as: none, message, exception, 192s traceback 192s -i INPUT, --input=INPUT 192s read from INPUT in ics format 192s -x EXCLUDE, --exclude=EXCLUDE 192s exclude names matching EXCLUDE from input paths 192s -o OUTPUT, --output=OUTPUT 192s write to OUTPUT in po, pot formats 192s -t TEMPLATE, --template=TEMPLATE 192s read from TEMPLATE in ics format 192s -S, --timestamp skip conversion if the output file has newer timestamp 192s -P, --pot output PO Templates (.pot) rather than PO files (.po) 192s --duplicates=DUPLICATESTYLE 192s what to do with duplicate strings (identical source 192s text): merge, msgctxt (default: 'msgctxt') 193s ========= SMOKE TEST: /usr/bin/idml2po =========== 193s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 193s 193s Convert IDML files to PO localization files. 193s 193s Options: 193s --version show program's version number and exit 193s -h, --help show this help message and exit 193s --manpage output a manpage based on the help 193s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 193s --errorlevel=ERRORLEVEL 193s show errorlevel as: none, message, exception, 193s traceback 193s -i INPUT, --input=INPUT 193s read from INPUT in idml format 193s -x EXCLUDE, --exclude=EXCLUDE 193s exclude names matching EXCLUDE from input paths 193s -o OUTPUT, --output=OUTPUT 193s write to OUTPUT in po, pot formats 193s -S, --timestamp skip conversion if the output file has newer timestamp 193s ========= SMOKE TEST: /usr/bin/ini2po =========== 193s 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] 193s 193s Convert .ini files to Gettext PO localization files. See: 193s http://docs.translatehouse.org/projects/translate- 193s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 193s 193s Options: 193s --version show program's version number and exit 193s -h, --help show this help message and exit 193s --manpage output a manpage based on the help 193s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 193s --errorlevel=ERRORLEVEL 193s show errorlevel as: none, message, exception, 193s traceback 193s -i INPUT, --input=INPUT 193s read from INPUT in ini, isl, iss formats 193s -x EXCLUDE, --exclude=EXCLUDE 193s exclude names matching EXCLUDE from input paths 193s -o OUTPUT, --output=OUTPUT 193s write to OUTPUT in po, pot formats 193s -t TEMPLATE, --template=TEMPLATE 193s read from TEMPLATE in ini, isl, iss formats 193s -S, --timestamp skip conversion if the output file has newer timestamp 193s -P, --pot output PO Templates (.pot) rather than PO files (.po) 193s --duplicates=DUPLICATESTYLE 193s what to do with duplicate strings (identical source 193s text): merge, msgctxt (default: 'msgctxt') 193s ========= SMOKE TEST: /usr/bin/json2po =========== 194s 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] 194s 194s Convert JSON files to Gettext PO localization files. See: 194s http://docs.translatehouse.org/projects/translate- 194s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 194s 194s Options: 194s --version show program's version number and exit 194s -h, --help show this help message and exit 194s --manpage output a manpage based on the help 194s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 194s --errorlevel=ERRORLEVEL 194s show errorlevel as: none, message, exception, 194s traceback 194s -i INPUT, --input=INPUT 194s read from INPUT in json format 194s -x EXCLUDE, --exclude=EXCLUDE 194s exclude names matching EXCLUDE from input paths 194s -o OUTPUT, --output=OUTPUT 194s write to OUTPUT in po, pot formats 194s -t TEMPLATE, --template=TEMPLATE 194s read from TEMPLATE in json format 194s -S, --timestamp skip conversion if the output file has newer timestamp 194s -P, --pot output PO Templates (.pot) rather than PO files (.po) 194s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 194s everything) 194s --duplicates=DUPLICATESTYLE 194s what to do with duplicate strings (identical source 194s text): merge, msgctxt (default: 'msgctxt') 194s ========= SMOKE TEST: /usr/bin/md2po =========== 194s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 194s 194s Convert Markdown files to Gettext PO localization files. See: 194s http://docs.translatehouse.org/projects/translate- 194s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 194s 194s Options: 194s --version show program's version number and exit 194s -h, --help show this help message and exit 194s --manpage output a manpage based on the help 194s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 194s --errorlevel=ERRORLEVEL 194s show errorlevel as: none, message, exception, 194s traceback 194s -i INPUT, --input=INPUT 194s read from INPUT in markdown, md, text, txt formats 194s -x EXCLUDE, --exclude=EXCLUDE 194s exclude names matching EXCLUDE from input paths 194s -o OUTPUT, --output=OUTPUT 194s write to OUTPUT in po, pot formats 194s -S, --timestamp skip conversion if the output file has newer timestamp 194s -P, --pot output PO Templates (.pot) rather than PO files (.po) 194s --duplicates=DUPLICATESTYLE 194s what to do with duplicate strings (identical source 194s text): merge, msgctxt (default: 'msgctxt') 194s --multifile=MULTIFILESTYLE 194s how to split po/pot files (single, toplevel or 194s onefile) 195s ========= SMOKE TEST: /usr/bin/moz2po =========== 195s 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] 195s 195s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 195s See: http://docs.translatehouse.org/projects/translate- 195s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 195s 195s Options: 195s --version show program's version number and exit 195s -h, --help show this help message and exit 195s --manpage output a manpage based on the help 195s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 195s --errorlevel=ERRORLEVEL 195s show errorlevel as: none, message, exception, 195s traceback 195s -i INPUT, --input=INPUT 195s read from INPUT in *, dtd, inc, ini, it, js, lang, 195s manifest, properties, rdf formats 195s -x EXCLUDE, --exclude=EXCLUDE 195s exclude names matching EXCLUDE from input paths 195s -o OUTPUT, --output=OUTPUT 195s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 195s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 195s lang.pot, manifest, properties.po, properties.pot, rdf 195s formats 195s -t TEMPLATE, --template=TEMPLATE 195s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 195s manifest, properties, rdf formats 195s -S, --timestamp skip conversion if the output file has newer timestamp 195s -P, --pot output PO Templates (.pot) rather than PO files (.po) 195s --duplicates=DUPLICATESTYLE 195s what to do with duplicate strings (identical source 195s text): merge, msgctxt (default: 'msgctxt') 195s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 195s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 195s 195s Convert Mozilla .lang files to Gettext PO localization files. 195s 195s Options: 195s --version show program's version number and exit 195s -h, --help show this help message and exit 195s --manpage output a manpage based on the help 195s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 195s --errorlevel=ERRORLEVEL 195s show errorlevel as: none, message, exception, 195s traceback 195s -i INPUT, --input=INPUT 195s read from INPUT in lang format 195s -x EXCLUDE, --exclude=EXCLUDE 195s exclude names matching EXCLUDE from input paths 195s -o OUTPUT, --output=OUTPUT 195s write to OUTPUT in po, pot formats 195s -S, --timestamp skip conversion if the output file has newer timestamp 195s -P, --pot output PO Templates (.pot) rather than PO files (.po) 195s --encoding=ENCODING The encoding of the input file (default: UTF-8) 195s --duplicates=DUPLICATESTYLE 195s what to do with duplicate strings (identical source 195s text): merge, msgctxt (default: 'msgctxt') 196s ========= SMOKE TEST: /usr/bin/msghack =========== 196s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 196s This program can be used to alter .po files in ways no sane mind would think about. 196s -o result will be written to FILE 196s --invert invert a po file by switching msgid and msgstr 196s --master join any number of files in a master-formatted catalog 196s --empty empty the contents of the .po file, creating a .pot 196s --append append entries from ref.po that don't exist in file.po 196s 196s Note: It is just a replacement of msghack for backward support. 196s 196s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 196s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 196s 196s Convert OpenDocument (ODF) files to XLIFF localization files. See: 196s http://docs.translatehouse.org/projects/translate- 196s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 196s 196s Options: 196s --version show program's version number and exit 196s -h, --help show this help message and exit 196s --manpage output a manpage based on the help 196s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 196s --errorlevel=ERRORLEVEL 196s show errorlevel as: none, message, exception, 196s traceback 196s -i INPUT, --input=INPUT 196s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 196s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 196s formats 196s -x EXCLUDE, --exclude=EXCLUDE 196s exclude names matching EXCLUDE from input paths 196s -o OUTPUT, --output=OUTPUT 196s write to OUTPUT in xlf, xliff formats 196s -S, --timestamp skip conversion if the output file has newer timestamp 196s ========= SMOKE TEST: /usr/bin/oo2po =========== 196s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 196s 196s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 196s files. See: http://docs.translatehouse.org/projects/translate- 196s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 196s 196s Options: 196s --version show program's version number and exit 196s -h, --help show this help message and exit 196s --manpage output a manpage based on the help 196s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 196s --errorlevel=ERRORLEVEL 196s show errorlevel as: none, message, exception, 196s traceback 196s -i INPUT, --input=INPUT 196s read from INPUT in oo, sdf formats 196s -x EXCLUDE, --exclude=EXCLUDE 196s exclude names matching EXCLUDE from input paths 196s -o OUTPUT, --output=OUTPUT 196s write to OUTPUT in po, pot formats 196s -S, --timestamp skip conversion if the output file has newer timestamp 196s -P, --pot output PO Templates (.pot) rather than PO files (.po) 196s -l LANG, --language=LANG 196s set target language to extract from oo file (e.g. af- 196s ZA) 196s --source-language=LANG 196s set source language code (default en-US) 196s --nonrecursiveinput don't treat the input oo as a recursive store 196s --duplicates=DUPLICATESTYLE 196s what to do with duplicate strings (identical source 196s text): merge, msgctxt (default: 'msgctxt') 196s --multifile=MULTIFILESTYLE 196s how to split po/pot files (single, toplevel or 196s onefile) 196s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 196s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 196s 196s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 196s files. See: http://docs.translatehouse.org/projects/translate- 196s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 196s 196s Options: 196s --version show program's version number and exit 196s -h, --help show this help message and exit 196s --manpage output a manpage based on the help 196s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 196s --errorlevel=ERRORLEVEL 196s show errorlevel as: none, message, exception, 196s traceback 196s -i INPUT, --input=INPUT 196s read from INPUT in oo, sdf formats 196s -x EXCLUDE, --exclude=EXCLUDE 196s exclude names matching EXCLUDE from input paths 196s -o OUTPUT, --output=OUTPUT 196s write to OUTPUT in xlf, xliff formats 196s -S, --timestamp skip conversion if the output file has newer timestamp 196s -l LANG, --language=LANG 196s set target language to extract from oo file (e.g. af- 196s ZA) 196s --source-language=LANG 196s set source language code (default en-US) 196s --nonrecursiveinput don't treat the input oo as a recursive store 196s --duplicates=DUPLICATESTYLE 196s what to do with duplicate strings (identical source 196s text): merge, msgctxt (default: 'msgctxt') 196s --multifile=MULTIFILESTYLE 196s how to split po/pot files (single, toplevel or 196s onefile) 197s ========= SMOKE TEST: /usr/bin/php2po =========== 197s 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] 197s 197s Convert PHP localization files to Gettext PO localization files. See: 197s http://docs.translatehouse.org/projects/translate- 197s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 197s 197s Options: 197s --version show program's version number and exit 197s -h, --help show this help message and exit 197s --manpage output a manpage based on the help 197s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 197s --errorlevel=ERRORLEVEL 197s show errorlevel as: none, message, exception, 197s traceback 197s -i INPUT, --input=INPUT 197s read from INPUT in html, php formats 197s -x EXCLUDE, --exclude=EXCLUDE 197s exclude names matching EXCLUDE from input paths 197s -o OUTPUT, --output=OUTPUT 197s write to OUTPUT in po, pot formats 197s -t TEMPLATE, --template=TEMPLATE 197s read from TEMPLATE in html, php formats 197s -S, --timestamp skip conversion if the output file has newer timestamp 197s -P, --pot output PO Templates (.pot) rather than PO files (.po) 197s --duplicates=DUPLICATESTYLE 197s what to do with duplicate strings (identical source 197s text): merge, msgctxt (default: 'msgctxt') 197s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 197s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 197s 197s Convert PHP format .po files to Python format .po files. 197s 197s Options: 197s --version show program's version number and exit 197s -h, --help show this help message and exit 197s --manpage output a manpage based on the help 197s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 197s --errorlevel=ERRORLEVEL 197s show errorlevel as: none, message, exception, 197s traceback 197s -i INPUT, --input=INPUT 197s read from INPUT in po, pot formats 197s -x EXCLUDE, --exclude=EXCLUDE 197s exclude names matching EXCLUDE from input paths 197s -o OUTPUT, --output=OUTPUT 197s write to OUTPUT in po, pot formats 197s -S, --timestamp skip conversion if the output file has newer timestamp 197s ========= SMOKE TEST: /usr/bin/po2csv =========== 197s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 197s 197s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 197s See: http://docs.translatehouse.org/projects/translate- 197s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 197s 197s Options: 197s --version show program's version number and exit 197s -h, --help show this help message and exit 197s --manpage output a manpage based on the help 197s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 197s --errorlevel=ERRORLEVEL 197s show errorlevel as: none, message, exception, 197s traceback 197s -i INPUT, --input=INPUT 197s read from INPUT in po, pot formats 197s -x EXCLUDE, --exclude=EXCLUDE 197s exclude names matching EXCLUDE from input paths 197s -o OUTPUT, --output=OUTPUT 197s write to OUTPUT in csv format 197s -S, --timestamp skip conversion if the output file has newer timestamp 197s --columnorder=COLUMNORDER 197s specify the order and position of columns 197s (location,source,target,context) 198s ========= SMOKE TEST: /usr/bin/po2dtd =========== 198s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 198s 198s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 198s Conversion is either done using a template plus PO file or just using the 198s .po file. 198s 198s Options: 198s --version show program's version number and exit 198s -h, --help show this help message and exit 198s --manpage output a manpage based on the help 198s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 198s --errorlevel=ERRORLEVEL 198s show errorlevel as: none, message, exception, 198s traceback 198s -i INPUT, --input=INPUT 198s read from INPUT in po, pot formats 198s -x EXCLUDE, --exclude=EXCLUDE 198s exclude names matching EXCLUDE from input paths 198s -o OUTPUT, --output=OUTPUT 198s write to OUTPUT in dtd format 198s -t TEMPLATE, --template=TEMPLATE 198s read from TEMPLATE in dtd format 198s -S, --timestamp skip conversion if the output file has newer timestamp 198s --threshold=PERCENT only convert files where the translation completion is 198s above PERCENT 198s --fuzzy use translations marked fuzzy 198s --nofuzzy don't use translations marked fuzzy (default) 198s --removeuntranslated remove untranslated strings from output 198s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 198s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 198s 198s Convert Gettext PO localization files to flat XML files. See: 198s http://docs.translatehouse.org/projects/translate- 198s toolkit/en/latest/commands/flatxml2po.html for examples and usage 198s instructions. 198s 198s Options: 198s --version show program's version number and exit 198s -h, --help show this help message and exit 198s --manpage output a manpage based on the help 198s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 198s --errorlevel=ERRORLEVEL 198s show errorlevel as: none, message, exception, 198s traceback 198s -i INPUT, --input=INPUT 198s read from INPUT in po, pot formats 198s -x EXCLUDE, --exclude=EXCLUDE 198s exclude names matching EXCLUDE from input paths 198s -o OUTPUT, --output=OUTPUT 198s write to OUTPUT in xml format 198s -t TEMPLATE, --template=TEMPLATE 198s read from TEMPLATE in xml format 198s -S, --timestamp skip conversion if the output file has newer timestamp 198s -r ROOT, --root=ROOT name of the XML root element (default: "root") 198s -v VALUE, --value=VALUE 198s name of the XML value element (default: "str") 198s -k KEY, --key=KEY name of the XML key attribute (default: "key") 198s -n NS, --namespace=NS 198s XML namespace uri (default: None) 198s -w INDENT, --indent=INDENT 198s indent width in spaces, 0 for no indent (default: 2) 198s ========= SMOKE TEST: /usr/bin/po2html =========== 198s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 198s 198s Translate HTML files using Gettext PO localization files. See: 198s http://docs.translatehouse.org/projects/translate- 198s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 198s 198s Options: 198s --version show program's version number and exit 198s -h, --help show this help message and exit 198s --manpage output a manpage based on the help 198s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 198s --errorlevel=ERRORLEVEL 198s show errorlevel as: none, message, exception, 198s traceback 198s -i INPUT, --input=INPUT 198s read from INPUT in po, pot formats 198s -x EXCLUDE, --exclude=EXCLUDE 198s exclude names matching EXCLUDE from input paths 198s -o OUTPUT, --output=OUTPUT 198s write to OUTPUT in htm, html, xhtml formats 198s -t TEMPLATE, --template=TEMPLATE 198s read from TEMPLATE in htm, html, xhtml formats 198s -S, --timestamp skip conversion if the output file has newer timestamp 198s --threshold=PERCENT only convert files where the translation completion is 198s above PERCENT 198s --fuzzy use translations marked fuzzy 198s --nofuzzy don't use translations marked fuzzy (default) 199s ========= SMOKE TEST: /usr/bin/po2ical =========== 199s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 199s 199s Convert Gettext PO localization files to iCalendar files. See: 199s http://docs.translatehouse.org/projects/translate- 199s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 199s 199s Options: 199s --version show program's version number and exit 199s -h, --help show this help message and exit 199s --manpage output a manpage based on the help 199s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 199s --errorlevel=ERRORLEVEL 199s show errorlevel as: none, message, exception, 199s traceback 199s -i INPUT, --input=INPUT 199s read from INPUT in po, pot formats 199s -x EXCLUDE, --exclude=EXCLUDE 199s exclude names matching EXCLUDE from input paths 199s -o OUTPUT, --output=OUTPUT 199s write to OUTPUT in ics format 199s -t TEMPLATE, --template=TEMPLATE 199s read from TEMPLATE in ics format 199s -S, --timestamp skip conversion if the output file has newer timestamp 199s --threshold=PERCENT only convert files where the translation completion is 199s above PERCENT 199s --fuzzy use translations marked fuzzy 199s --nofuzzy don't use translations marked fuzzy (default) 199s ========= SMOKE TEST: /usr/bin/po2idml =========== 199s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 199s 199s Takes an IDML template file and a PO file containing translations of strings 199s in the IDML template. It creates a new IDML file using the translations of the 199s PO file. 199s 199s Options: 199s --version show program's version number and exit 199s -h, --help show this help message and exit 199s --manpage output a manpage based on the help 199s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 199s --errorlevel=ERRORLEVEL 199s show errorlevel as: none, message, exception, 199s traceback 199s -i INPUT, --input=INPUT 199s read from INPUT in po, pot formats 199s -x EXCLUDE, --exclude=EXCLUDE 199s exclude names matching EXCLUDE from input paths 199s -o OUTPUT, --output=OUTPUT 199s write to OUTPUT in idml format 199s -t TEMPLATE, --template=TEMPLATE 199s read from TEMPLATE in idml format 199s -S, --timestamp skip conversion if the output file has newer timestamp 199s ========= SMOKE TEST: /usr/bin/po2ini =========== 200s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 200s 200s Convert Gettext PO localization files to .ini files. See: 200s http://docs.translatehouse.org/projects/translate- 200s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 200s 200s Options: 200s --version show program's version number and exit 200s -h, --help show this help message and exit 200s --manpage output a manpage based on the help 200s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 200s --errorlevel=ERRORLEVEL 200s show errorlevel as: none, message, exception, 200s traceback 200s -i INPUT, --input=INPUT 200s read from INPUT in po, pot formats 200s -x EXCLUDE, --exclude=EXCLUDE 200s exclude names matching EXCLUDE from input paths 200s -o OUTPUT, --output=OUTPUT 200s write to OUTPUT in ini, isl formats 200s -t TEMPLATE, --template=TEMPLATE 200s read from TEMPLATE in ini, isl formats 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s --threshold=PERCENT only convert files where the translation completion is 200s above PERCENT 200s --fuzzy use translations marked fuzzy 200s --nofuzzy don't use translations marked fuzzy (default) 200s ========= SMOKE TEST: /usr/bin/po2json =========== 200s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 200s 200s Convert Gettext PO localization files to JSON files. See: 200s http://docs.translatehouse.org/projects/translate- 200s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 200s 200s Options: 200s --version show program's version number and exit 200s -h, --help show this help message and exit 200s --manpage output a manpage based on the help 200s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 200s --errorlevel=ERRORLEVEL 200s show errorlevel as: none, message, exception, 200s traceback 200s -i INPUT, --input=INPUT 200s read from INPUT in po, pot formats 200s -x EXCLUDE, --exclude=EXCLUDE 200s exclude names matching EXCLUDE from input paths 200s -o OUTPUT, --output=OUTPUT 200s write to OUTPUT in json format 200s -t TEMPLATE, --template=TEMPLATE 200s read from TEMPLATE in json format 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s --threshold=PERCENT only convert files where the translation completion is 200s above PERCENT 200s --fuzzy use translations marked fuzzy 200s --nofuzzy don't use translations marked fuzzy (default) 200s --removeuntranslated remove untranslated strings from output 200s ========= SMOKE TEST: /usr/bin/po2md =========== 200s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 200s 200s Translate Markdown files using Gettext PO localization files. See: 200s http://docs.translatehouse.org/projects/translate- 200s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 200s 200s Options: 200s --version show program's version number and exit 200s -h, --help show this help message and exit 200s --manpage output a manpage based on the help 200s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 200s --errorlevel=ERRORLEVEL 200s show errorlevel as: none, message, exception, 200s traceback 200s -i INPUT, --input=INPUT 200s read from INPUT in po, pot formats 200s -x EXCLUDE, --exclude=EXCLUDE 200s exclude names matching EXCLUDE from input paths 200s -o OUTPUT, --output=OUTPUT 200s write to OUTPUT in markdown, md, text, txt formats 200s -t TEMPLATE, --template=TEMPLATE 200s read from TEMPLATE in markdown, md, text, txt formats 200s -S, --timestamp skip conversion if the output file has newer timestamp 200s -m MAXLENGTH, --maxlinelength=MAXLENGTH 200s reflow (word wrap) the output to the given maximum 200s line length. set to 0 to disable 200s --threshold=PERCENT only convert files where the translation completion is 200s above PERCENT 200s --fuzzy use translations marked fuzzy 200s --nofuzzy don't use translations marked fuzzy (default) 201s ========= SMOKE TEST: /usr/bin/po2moz =========== 201s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 201s 201s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 201s See: http://docs.translatehouse.org/projects/translate- 201s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 201s 201s Options: 201s --version show program's version number and exit 201s -h, --help show this help message and exit 201s --manpage output a manpage based on the help 201s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 201s --errorlevel=ERRORLEVEL 201s show errorlevel as: none, message, exception, 201s traceback 201s -i INPUT, --input=INPUT 201s read from INPUT in *, dtd.po, dtd.pot, inc.po, 201s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 201s lang.pot, manifest, properties.po, properties.pot, rdf 201s formats 201s -x EXCLUDE, --exclude=EXCLUDE 201s exclude names matching EXCLUDE from input paths 201s -o OUTPUT, --output=OUTPUT 201s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 201s manifest, properties, rdf formats 201s -t TEMPLATE, --template=TEMPLATE 201s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 201s manifest, properties, rdf formats 201s -S, --timestamp skip conversion if the output file has newer timestamp 201s -l LOCALE, --locale=LOCALE 201s set output locale (required as this sets the directory 201s names) 201s --threshold=PERCENT only convert files where the translation completion is 201s above PERCENT 201s --fuzzy use translations marked fuzzy 201s --nofuzzy don't use translations marked fuzzy (default) 201s --removeuntranslated remove untranslated strings from output 201s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 201s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 201s 201s Convert Gettext PO localization files to Mozilla .lang files. 201s 201s Options: 201s --version show program's version number and exit 201s -h, --help show this help message and exit 201s --manpage output a manpage based on the help 201s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 201s --errorlevel=ERRORLEVEL 201s show errorlevel as: none, message, exception, 201s traceback 201s -i INPUT, --input=INPUT 201s read from INPUT in po, pot formats 201s -x EXCLUDE, --exclude=EXCLUDE 201s exclude names matching EXCLUDE from input paths 201s -o OUTPUT, --output=OUTPUT 201s write to OUTPUT in lang format 201s -t TEMPLATE, --template=TEMPLATE 201s read from TEMPLATE in lang format 201s -S, --timestamp skip conversion if the output file has newer timestamp 201s --mark-active mark the file as active 201s --threshold=PERCENT only convert files where the translation completion is 201s above PERCENT 201s --fuzzy use translations marked fuzzy 201s --nofuzzy don't use translations marked fuzzy (default) 202s ========= SMOKE TEST: /usr/bin/po2oo =========== 202s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 202s 202s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 202s file. See: http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 202s 202s Options: 202s --version show program's version number and exit 202s -h, --help show this help message and exit 202s --manpage output a manpage based on the help 202s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 202s --errorlevel=ERRORLEVEL 202s show errorlevel as: none, message, exception, 202s traceback 202s -i INPUT, --input=INPUT 202s read from INPUT in po, pot, xlf, xliff formats 202s -x EXCLUDE, --exclude=EXCLUDE 202s exclude names matching EXCLUDE from input paths 202s -o OUTPUT, --output=OUTPUT 202s write to OUTPUT in oo, sdf formats 202s -t TEMPLATE, --template=TEMPLATE 202s read from TEMPLATE in oo, sdf formats 202s -S, --timestamp skip conversion if the output file has newer timestamp 202s -l LANG, --language=LANG 202s set target language code (e.g. af-ZA) [required] 202s --source-language=LANG 202s set source language code (default en-US) 202s -T, --keeptimestamp don't change the timestamps of the strings 202s --nonrecursiveoutput don't treat the output oo as a recursive store 202s --nonrecursivetemplate 202s don't treat the template oo as a recursive store 202s --skipsource don't output the source language, but fallback to it 202s where needed 202s --filteraction=ACTION 202s action on pofilter failure: none (default), warn, 202s exclude-serious, exclude-all 202s --threshold=PERCENT only convert files where the translation completion is 202s above PERCENT 202s --fuzzy use translations marked fuzzy 202s --nofuzzy don't use translations marked fuzzy (default) 202s --multifile=MULTIFILESTYLE 202s how to split po/pot files (single, toplevel or 202s onefile) 202s ========= SMOKE TEST: /usr/bin/po2php =========== 202s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 202s 202s Convert Gettext PO localization files to PHP localization files. See: 202s http://docs.translatehouse.org/projects/translate- 202s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 202s 202s Options: 202s --version show program's version number and exit 202s -h, --help show this help message and exit 202s --manpage output a manpage based on the help 202s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 202s --errorlevel=ERRORLEVEL 202s show errorlevel as: none, message, exception, 202s traceback 202s -i INPUT, --input=INPUT 202s read from INPUT in po, pot formats 202s -x EXCLUDE, --exclude=EXCLUDE 202s exclude names matching EXCLUDE from input paths 202s -o OUTPUT, --output=OUTPUT 202s write to OUTPUT in html, php formats 202s -t TEMPLATE, --template=TEMPLATE 202s read from TEMPLATE in html, php formats 202s -S, --timestamp skip conversion if the output file has newer timestamp 202s --threshold=PERCENT only convert files where the translation completion is 202s above PERCENT 202s --fuzzy use translations marked fuzzy 202s --nofuzzy don't use translations marked fuzzy (default) 202s ========= SMOKE TEST: /usr/bin/po2prop =========== 203s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 203s 203s Convert Gettext PO localization files to Java/Mozilla .properties files. 203s See: http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in po, pot formats 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in lang, properties, strings formats 203s -t TEMPLATE, --template=TEMPLATE 203s read from TEMPLATE in lang, properties, strings 203s formats 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s --personality=TYPE override the input file format: java, java-utf8, java- 203s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 203s strings, strings-utf8, joomla (for .properties files, 203s default: java) 203s --encoding=ENCODING override the encoding set by the personality 203s --threshold=PERCENT only convert files where the translation completion is 203s above PERCENT 203s --fuzzy use translations marked fuzzy 203s --nofuzzy don't use translations marked fuzzy (default) 203s --removeuntranslated remove untranslated strings from output 203s ========= SMOKE TEST: /usr/bin/po2rc =========== 203s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 203s 203s Convert Gettext PO localization files back to Windows Resource (.rc) files. 203s See: http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in po, pot formats 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in rc format 203s -t TEMPLATE, --template=TEMPLATE 203s read from TEMPLATE in rc format 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s --charset=CHARSET charset to use to decode the template RC files 203s (default: utf-8) 203s --charset-output=CHARSET 203s charset to use to encode the RC file (default: auto) 203s -l LANG, --lang=LANG LANG entry 203s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 203s --threshold=PERCENT only convert files where the translation completion is 203s above PERCENT 203s --fuzzy use translations marked fuzzy 203s --nofuzzy don't use translations marked fuzzy (default) 203s ========= SMOKE TEST: /usr/bin/po2resx =========== 203s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 203s 203s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 203s http://docs.translatehouse.org/projects/translate- 203s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 203s 203s Options: 203s --version show program's version number and exit 203s -h, --help show this help message and exit 203s --manpage output a manpage based on the help 203s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 203s --errorlevel=ERRORLEVEL 203s show errorlevel as: none, message, exception, 203s traceback 203s -i INPUT, --input=INPUT 203s read from INPUT in po, pot formats 203s -x EXCLUDE, --exclude=EXCLUDE 203s exclude names matching EXCLUDE from input paths 203s -o OUTPUT, --output=OUTPUT 203s write to OUTPUT in resx format 203s -t TEMPLATE, --template=TEMPLATE 203s read from TEMPLATE in resx format 203s -S, --timestamp skip conversion if the output file has newer timestamp 203s --fuzzy use translations marked fuzzy 203s --nofuzzy don't use translations marked fuzzy (default) 204s ========= SMOKE TEST: /usr/bin/po2sub =========== 204s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 204s 204s Convert Gettext PO localization files to subtitle files. See: 204s http://docs.translatehouse.org/projects/translate- 204s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in po, pot formats 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in ass, srt, ssa, sub formats 204s -t TEMPLATE, --template=TEMPLATE 204s read from TEMPLATE in ass, srt, ssa, sub formats 204s -S, --timestamp skip conversion if the output file has newer timestamp 204s --threshold=PERCENT only convert files where the translation completion is 204s above PERCENT 204s --fuzzy use translations marked fuzzy 204s --nofuzzy don't use translations marked fuzzy (default) 204s ========= SMOKE TEST: /usr/bin/po2symb =========== 204s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 204s 204s Convert Gettext PO localization files to Symbian translation files. See: 204s http://docs.translatehouse.org/projects/translate- 204s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in po, pot formats 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in r0 format 204s -t TEMPLATE, --template=TEMPLATE 204s read from TEMPLATE in 204s -S, --timestamp skip conversion if the output file has newer timestamp 204s --duplicates=DUPLICATESTYLE 204s what to do with duplicate strings (identical source 204s text): merge, msgctxt (default: 'msgctxt') 204s ========= SMOKE TEST: /usr/bin/po2tiki =========== 204s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 204s 204s Convert Gettext PO files to TikiWiki's language.php files. See: 204s http://docs.translatehouse.org/projects/translate- 204s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 204s 204s Options: 204s --version show program's version number and exit 204s -h, --help show this help message and exit 204s --manpage output a manpage based on the help 204s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 204s --errorlevel=ERRORLEVEL 204s show errorlevel as: none, message, exception, 204s traceback 204s -i INPUT, --input=INPUT 204s read from INPUT in po, pot formats 204s -x EXCLUDE, --exclude=EXCLUDE 204s exclude names matching EXCLUDE from input paths 204s -o OUTPUT, --output=OUTPUT 204s write to OUTPUT in tiki format 204s -S, --timestamp skip conversion if the output file has newer timestamp 204s ========= SMOKE TEST: /usr/bin/po2tmx =========== 205s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 205s 205s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 205s file. See: http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in po, pot formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in tmx format 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s -l LANG, --language=LANG 205s set target language code (e.g. af-ZA) [required] 205s --source-language=LANG 205s set source language code (default: en) 205s --comments=COMMENT set default comment import: none, source, type or 205s others (default: none) 205s ========= SMOKE TEST: /usr/bin/po2ts =========== 205s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 205s 205s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in po, pot formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in ts format 205s -t TEMPLATE, --template=TEMPLATE 205s read from TEMPLATE in ts format 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s -c CONTEXT, --context=CONTEXT 205s use supplied context instead of the one in the .po 205s file comment 205s ========= SMOKE TEST: /usr/bin/po2txt =========== 205s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 205s 205s Convert Gettext PO localization files to plain text (.txt) files. See: 205s http://docs.translatehouse.org/projects/translate- 205s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 205s 205s Options: 205s --version show program's version number and exit 205s -h, --help show this help message and exit 205s --manpage output a manpage based on the help 205s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 205s --errorlevel=ERRORLEVEL 205s show errorlevel as: none, message, exception, 205s traceback 205s -i INPUT, --input=INPUT 205s read from INPUT in po, pot, xlf, xliff formats 205s -x EXCLUDE, --exclude=EXCLUDE 205s exclude names matching EXCLUDE from input paths 205s -o OUTPUT, --output=OUTPUT 205s write to OUTPUT in txt format 205s -t TEMPLATE, --template=TEMPLATE 205s read from TEMPLATE in txt format 205s -S, --timestamp skip conversion if the output file has newer timestamp 205s --encoding=ENCODING The encoding of the template file (default: UTF-8) 205s -w WRAP, --wrap=WRAP set number of columns to wrap text at 205s --threshold=PERCENT only convert files where the translation completion is 205s above PERCENT 205s --fuzzy use translations marked fuzzy 205s --nofuzzy don't use translations marked fuzzy (default) 205s ========= SMOKE TEST: /usr/bin/po2web2py =========== 206s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 206s 206s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in po, pot formats 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in py format 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s --threshold=PERCENT only convert files where the translation completion is 206s above PERCENT 206s --fuzzy use translations marked fuzzy 206s --nofuzzy don't use translations marked fuzzy (default) 206s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 206s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 206s 206s Convert Gettext PO localization files to a Wordfast translation memory file. 206s See: http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/po2wordfast.html for examples and usage 206s instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in po, pot formats 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in txt format 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s -l LANG, --language=LANG 206s set target language code (e.g. af-ZA) [required] 206s --source-language=LANG 206s set source language code (default: en) 206s ========= SMOKE TEST: /usr/bin/po2xliff =========== 206s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 206s 206s Convert Gettext PO localization files to XLIFF localization files. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in po, pot formats 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in xlf, xliff formats 206s -t TEMPLATE, --template=TEMPLATE 206s read from TEMPLATE in xlf, xliff formats 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s ========= SMOKE TEST: /usr/bin/po2yaml =========== 206s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 206s 206s Convert Gettext PO localization files to YAML files. See: 206s http://docs.translatehouse.org/projects/translate- 206s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 206s 206s Options: 206s --version show program's version number and exit 206s -h, --help show this help message and exit 206s --manpage output a manpage based on the help 206s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 206s --errorlevel=ERRORLEVEL 206s show errorlevel as: none, message, exception, 206s traceback 206s -i INPUT, --input=INPUT 206s read from INPUT in po, pot formats 206s -x EXCLUDE, --exclude=EXCLUDE 206s exclude names matching EXCLUDE from input paths 206s -o OUTPUT, --output=OUTPUT 206s write to OUTPUT in yaml, yml formats 206s -t TEMPLATE, --template=TEMPLATE 206s read from TEMPLATE in yaml, yml formats 206s -S, --timestamp skip conversion if the output file has newer timestamp 206s --threshold=PERCENT only convert files where the translation completion is 206s above PERCENT 206s --fuzzy use translations marked fuzzy 206s --nofuzzy don't use translations marked fuzzy (default) 207s ========= SMOKE TEST: /usr/bin/poclean =========== 207s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 207s 207s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 207s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 207s produces the target file with only the target text in from a text version of 207s the RTF. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in po, pot, xlf, xliff formats 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in po, pot, xlf, xliff formats 207s -S, --timestamp skip conversion if the output file has newer timestamp 207s ========= SMOKE TEST: /usr/bin/pocompendium =========== 207s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 207s The first parameter is the output file, standard output if the output file is '-'. 207s Any number of directories may be specified for input files. 207s Options: 207s --invert|v Creates an inverse compendium with msgid and msgstr swapped 207s --errors|e Only ouput msg bundles that have errors 207s --correct|c Only ouput msg bundles that are correctly translated 207s --ignore-case|i Drops all strings to lowercase 207s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 207s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 207s --strip-accel-under|-su Strip all underscore (_) accelerator characters 207s ========= SMOKE TEST: /usr/bin/pocompile =========== 207s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 207s 207s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 207s Object) files. See: http://docs.translatehouse.org/projects/translate- 207s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in po, pot, xlf, xliff formats 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in mo format 207s -S, --timestamp skip conversion if the output file has newer timestamp 207s --fuzzy use translations marked fuzzy 207s --nofuzzy don't use translations marked fuzzy (default) 207s ========= SMOKE TEST: /usr/bin/poconflicts =========== 207s 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] 207s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 207s 207s Conflict finder for Gettext PO localization files. See: 207s http://docs.translatehouse.org/projects/translate- 207s toolkit/en/latest/commands/poconflicts.html for examples and usage 207s instructions. 207s 207s Options: 207s --version show program's version number and exit 207s -h, --help show this help message and exit 207s --manpage output a manpage based on the help 207s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 207s --errorlevel=ERRORLEVEL 207s show errorlevel as: none, message, exception, 207s traceback 207s -i INPUT, --input=INPUT 207s read from INPUT in po format 207s -x EXCLUDE, --exclude=EXCLUDE 207s exclude names matching EXCLUDE from input paths 207s -o OUTPUT, --output=OUTPUT 207s write to OUTPUT in po format 207s -I, --ignore-case ignore case distinctions 207s -v, --invert invert the conflicts thus extracting conflicting 207s destination words 207s --accelerator=ACCELERATORS 207s ignores the given accelerator characters when matching 208s ========= SMOKE TEST: /usr/bin/pocount =========== 208s usage: pocount [-h] [--incomplete] [--full | --csv | --short | 208s --short-strings | --short-words] [--no-color] 208s files [files ...] 208s 208s positional arguments: 208s files 208s 208s options: 208s -h, --help show this help message and exit 208s --incomplete skip 100% translated files. 208s 208s Output format: 208s --full (default) statistics in full, verbose format 208s --csv statistics in CSV format 208s --short same as --short-strings 208s --short-strings statistics of strings in short format - one line per file 208s --short-words statistics of words in short format - one line per file 208s --no-color show output without color 208s ========= SMOKE TEST: /usr/bin/podebug =========== 208s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 208s 208s Insert debug messages into XLIFF and Gettext PO localization files. See: 208s http://docs.translatehouse.org/projects/translate- 208s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 208s 208s Options: 208s --version show program's version number and exit 208s -h, --help show this help message and exit 208s --manpage output a manpage based on the help 208s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 208s --errorlevel=ERRORLEVEL 208s show errorlevel as: none, message, exception, 208s traceback 208s -i INPUT, --input=INPUT 208s read from INPUT in po, pot, pot, tmx, xlf, xliff 208s formats 208s -x EXCLUDE, --exclude=EXCLUDE 208s exclude names matching EXCLUDE from input paths 208s -o OUTPUT, --output=OUTPUT 208s write to OUTPUT in po, pot, tmx, xlf, xliff formats 208s -S, --timestamp skip conversion if the output file has newer timestamp 208s -f FORMAT, --format=FORMAT 208s specify format string 208s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 208s classified, en, flipped, unicode, xxx 208s --ignore=APPLICATION apply tagging ignore rules for the given application: 208s gtk, kde, libreoffice, mozilla, openoffice 208s --preserveplaceholders 208s attempt to exclude characters that are part of 208s placeholders when performing character-level rewrites 208s so that consuming applications can still use the 208s placeholders to generate final output 208s ========= SMOKE TEST: /usr/bin/pofilter =========== 208s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 208s 208s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 208s Snippet files are created whenever a test fails. These can be examined, 208s corrected and merged back into the originals using pomerge. See: 208s http://docs.translatehouse.org/projects/translate- 208s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 208s and http://docs.translatehouse.org/projects/translate- 208s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 208s tests. 208s 208s Options: 208s --version show program's version number and exit 208s -h, --help show this help message and exit 208s --manpage output a manpage based on the help 208s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 208s --errorlevel=ERRORLEVEL 208s show errorlevel as: none, message, exception, 208s traceback 208s -i INPUT, --input=INPUT 208s read from INPUT in po, pot, tmx, xlf, xliff formats 208s -x EXCLUDE, --exclude=EXCLUDE 208s exclude names matching EXCLUDE from input paths 208s -o OUTPUT, --output=OUTPUT 208s write to OUTPUT in po, pot, tmx, xlf, xliff formats 208s -l, --listfilters list filters available 208s --review include units marked for review (default) 208s --noreview exclude units marked for review 208s --fuzzy include units marked fuzzy (default) 208s --nofuzzy exclude units marked fuzzy 208s --nonotes don't add notes about the errors 208s --autocorrect output automatic corrections where possible rather 208s than describing issues 208s --language=LANG set target language code (e.g. af-ZA) [required for 208s spell check and recommended in general] 208s --openoffice use the standard checks for OpenOffice translations 208s --libreoffice use the standard checks for LibreOffice translations 208s --mozilla use the standard checks for Mozilla translations 208s --drupal use the standard checks for Drupal translations 208s --gnome use the standard checks for Gnome translations 208s --kde use the standard checks for KDE translations 208s --wx use the standard checks for wxWidgets translations 208s --excludefilter=FILTER 208s don't use FILTER when filtering 208s -t FILTER, --test=FILTER 208s only use test FILTERs specified with this option when 208s filtering 208s --notranslatefile=FILE 208s read list of untranslatable words from FILE (must not 208s be translated) 208s --musttranslatefile=FILE 208s read list of translatable words from FILE (must be 208s translated) 208s --validcharsfile=FILE 208s read list of all valid characters from FILE (must be 208s in UTF-8) 209s ========= SMOKE TEST: /usr/bin/pogrep =========== 209s 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] 209s 209s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 209s snippet files of the same type which can then be reviewed and later merged 209s using :doc:`pomerge `. See: 209s http://docs.translatehouse.org/projects/translate- 209s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 209s 209s Options: 209s --version show program's version number and exit 209s -h, --help show this help message and exit 209s --manpage output a manpage based on the help 209s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 209s --errorlevel=ERRORLEVEL 209s show errorlevel as: none, message, exception, 209s traceback 209s -i INPUT, --input=INPUT 209s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 209s xliff formats 209s -x EXCLUDE, --exclude=EXCLUDE 209s exclude names matching EXCLUDE from input paths 209s -o OUTPUT, --output=OUTPUT 209s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 209s xliff formats 209s --search=SEARCHPARTS searches the given parts (source, target, notes and 209s locations) 209s -I, --ignore-case ignore case distinctions 209s -e, --regexp use regular expression matching 209s -v, --invert-match select non-matching lines 209s --accelerator=ACCELERATOR 209s ignores the given accelerator when matching 209s -k, --keep-translations 209s always extract units with translations 209s ========= SMOKE TEST: /usr/bin/pomerge =========== 209s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 209s 209s Merges XLIFF and Gettext PO localization files. Snippet file produced by 209s e.g. :doc:`pogrep ` and updated by a translator can be 209s merged back into the original files. See: 209s http://docs.translatehouse.org/projects/translate- 209s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 209s 209s Options: 209s --version show program's version number and exit 209s -h, --help show this help message and exit 209s --manpage output a manpage based on the help 209s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 209s --errorlevel=ERRORLEVEL 209s show errorlevel as: none, message, exception, 209s traceback 209s -i INPUT, --input=INPUT 209s read from INPUT in po, pot, pot, xlf, xliff formats 209s -x EXCLUDE, --exclude=EXCLUDE 209s exclude names matching EXCLUDE from input paths 209s -o OUTPUT, --output=OUTPUT 209s write to OUTPUT in po, pot, pot, xlf, xliff formats 209s -t TEMPLATE, --template=TEMPLATE 209s read from TEMPLATE in po, pot, pot, xlf, xliff formats 209s -S, --timestamp skip conversion if the output file has newer timestamp 209s --mergeblanks=MERGEBLANKS 209s whether to overwrite existing translations with blank 209s translations (yes/no). Default is yes. 209s --mergefuzzy=MERGEFUZZY 209s whether to consider fuzzy translations from input 209s (yes/no). Default is yes. 209s --mergecomments=MERGECOMMENTS 209s whether to merge comments as well as translations 209s (yes/no). Default is yes. 209s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 209s Usage pomigrate2 [options] 209s 209s Options: 209s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 209s -C|--use-compendium - create and use a compendium built from the migrating files 209s -C|--use-compendium=some-compendium.po 209s - use an external compendium during the migration 209s --no-wrap - do not wrap long lines 209s --locale=lang - set locale for newly born files 209s -q|--quiet - suppress most output 209s -p|--pot2po - use pot2po instead of msgmerge to migrate 209s ========= SMOKE TEST: /usr/bin/popuretext =========== 209s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 209s ========= SMOKE TEST: /usr/bin/poreencode =========== 209s Usage: poreencode 209s eg: poreencode UTF-8 af/ 209s ========= SMOKE TEST: /usr/bin/porestructure =========== 209s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 209s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 209s 209s Restructure Gettxt PO files produced by :doc:`poconflicts 209s ` into the original directory tree for merging using 209s :doc:`pomerge `. See: 209s http://docs.translatehouse.org/projects/translate- 209s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 209s 209s Options: 209s --version show program's version number and exit 209s -h, --help show this help message and exit 209s --manpage output a manpage based on the help 209s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 209s --errorlevel=ERRORLEVEL 209s show errorlevel as: none, message, exception, 209s traceback 209s -i INPUT, --input=INPUT 209s read from INPUT in po format 209s -x EXCLUDE, --exclude=EXCLUDE 209s exclude names matching EXCLUDE from input paths 209s -o OUTPUT, --output=OUTPUT 209s write to OUTPUT in po format 210s ========= SMOKE TEST: /usr/bin/posegment =========== 210s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 210s 210s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 210s See: http://docs.translatehouse.org/projects/translate- 210s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 210s 210s Options: 210s --version show program's version number and exit 210s -h, --help show this help message and exit 210s --manpage output a manpage based on the help 210s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 210s --errorlevel=ERRORLEVEL 210s show errorlevel as: none, message, exception, 210s traceback 210s -i INPUT, --input=INPUT 210s read from INPUT in po, pot, tmx, xlf, xliff formats 210s -x EXCLUDE, --exclude=EXCLUDE 210s exclude names matching EXCLUDE from input paths 210s -o OUTPUT, --output=OUTPUT 210s write to OUTPUT in po, pot, tmx, xlf, xliff formats 210s -S, --timestamp skip conversion if the output file has newer timestamp 210s -P, --pot output PO Templates (.pot) rather than PO files (.po) 210s -l LANG, --language=LANG 210s the target language code 210s --source-language=LANG 210s the source language code (default 'en') 210s --keepspaces Disable automatic stripping of whitespace 210s --only-aligned Removes units where sentence number does not 210s correspond 210s ========= SMOKE TEST: /usr/bin/poswap =========== 210s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 210s 210s Builds a new translation file with the target of the input language as source 210s language. .. note:: Ensure that the two po files correspond 100% to the same 210s pot file before using this. To translate Kurdish (ku) through French:: 210s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 210s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 210s http://docs.translatehouse.org/projects/translate- 210s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 210s 210s Options: 210s --version show program's version number and exit 210s -h, --help show this help message and exit 210s --manpage output a manpage based on the help 210s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 210s --errorlevel=ERRORLEVEL 210s show errorlevel as: none, message, exception, 210s traceback 210s -i INPUT, --input=INPUT 210s read from INPUT in po, pot formats 210s -x EXCLUDE, --exclude=EXCLUDE 210s exclude names matching EXCLUDE from input paths 210s -o OUTPUT, --output=OUTPUT 210s write to OUTPUT in po, pot formats 210s -t TEMPLATE, --template=TEMPLATE 210s read from TEMPLATE in po, pot, pot formats 210s -S, --timestamp skip conversion if the output file has newer timestamp 210s --reverse reverse the process of intermediate language 210s conversion 210s ========= SMOKE TEST: /usr/bin/pot2po =========== 210s 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] 210s 210s Convert template files (like .pot or template .xlf files) to translation 210s files, preserving existing translations. See: 210s http://docs.translatehouse.org/projects/translate- 210s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 210s 210s Options: 210s --version show program's version number and exit 210s -h, --help show this help message and exit 210s --manpage output a manpage based on the help 210s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 210s --errorlevel=ERRORLEVEL 210s show errorlevel as: none, message, exception, 210s traceback 210s -i INPUT, --input=INPUT 210s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 210s formats 210s -x EXCLUDE, --exclude=EXCLUDE 210s exclude names matching EXCLUDE from input paths 210s -o OUTPUT, --output=OUTPUT 210s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 210s xliff formats 210s -t TEMPLATE, --template=TEMPLATE 210s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 210s xliff formats 210s -S, --timestamp skip conversion if the output file has newer timestamp 210s -P, --pot output PO Templates (.pot) rather than PO files (.po) 210s --tm=TM The file to use as translation memory when fuzzy 210s matching 210s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 210s The minimum similarity for inclusion (default: 75%) 210s --nofuzzymatching Disable fuzzy matching 210s ========= SMOKE TEST: /usr/bin/poterminology =========== 211s 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] 211s input directory is searched for PO files, terminology PO file is output file 211s 211s Create a terminology file by reading a set of .po or .pot files to produce a 211s pootle-terminology.pot. See: 211s http://docs.translatehouse.org/projects/translate- 211s toolkit/en/latest/commands/poterminology.html for examples and usage 211s instructions. 211s 211s Options: 211s --version show program's version number and exit 211s -h, --help show this help message and exit 211s --manpage output a manpage based on the help 211s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 211s --errorlevel=ERRORLEVEL 211s show errorlevel as: none, message, exception, 211s traceback 211s -i INPUT, --input=INPUT 211s read from INPUT in po, pot formats 211s -x EXCLUDE, --exclude=EXCLUDE 211s exclude names matching EXCLUDE from input paths 211s -o OUTPUT, --output=OUTPUT 211s write to OUTPUT in po, pot formats 211s -u UPDATEFILE, --update=UPDATEFILE 211s update terminology in UPDATEFILE 211s -S STOPFILE, --stopword-list=STOPFILE 211s read stopword (term exclusion) list from STOPFILE 211s (default /usr/share/pyshared/translate/share/stoplist- 211s en) 211s -F, --fold-titlecase fold "Title Case" to lowercase (default) 211s -C, --preserve-case preserve all uppercase/lowercase 211s -I, --ignore-case make all terms lowercase 211s --accelerator=ACCELERATORS 211s ignore the given accelerator characters when matching 211s -t LENGTH, --term-words=LENGTH 211s generate terms of up to LENGTH words (default 3) 211s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 211s 1) 211s --inputs-needed=MIN omit terms appearing in less than MIN input files 211s (default 2, or 1 if only one input file) 211s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 211s different messages (default 1) 211s --substr-needed=MIN omit substring-only terms appearing in less than MIN 211s different messages (default 2) 211s --locs-needed=MIN omit terms appearing in less than MIN different 211s original source files (default 2) 211s --sort=ORDER output sort order(s): frequency, dictionary, length 211s (may repeat option, default is all in above order) 211s --source-language=LANG 211s the source language code (default 'en') 211s -v, --invert invert the source and target languages for terminology 211s ========= SMOKE TEST: /usr/bin/pretranslate =========== 211s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 211s 211s Fill localization files with suggested translations based on translation 211s memory and existing translations. See: 211s http://docs.translatehouse.org/projects/translate- 211s toolkit/en/latest/commands/pretranslate.html for examples and usage 211s instructions. 211s 211s Options: 211s --version show program's version number and exit 211s -h, --help show this help message and exit 211s --manpage output a manpage based on the help 211s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 211s --errorlevel=ERRORLEVEL 211s show errorlevel as: none, message, exception, 211s traceback 211s -i INPUT, --input=INPUT 211s read from INPUT in po, pot, pot, xlf, xliff formats 211s -x EXCLUDE, --exclude=EXCLUDE 211s exclude names matching EXCLUDE from input paths 211s -o OUTPUT, --output=OUTPUT 211s write to OUTPUT in po, pot, xlf, xliff formats 211s -t TEMPLATE, --template=TEMPLATE 211s read from TEMPLATE in po, pot, xlf, xliff formats 211s -S, --timestamp skip conversion if the output file has newer timestamp 211s --tm=TM The file to use as translation memory when fuzzy 211s matching 211s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 211s The minimum similarity for inclusion (default: 75%) 211s --nofuzzymatching Disable fuzzy matching 211s ========= SMOKE TEST: /usr/bin/prop2po =========== 211s 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] 211s 211s Convert Java/Mozilla .properties files to Gettext PO localization files. 211s See: http://docs.translatehouse.org/projects/translate- 211s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 211s 211s Options: 211s --version show program's version number and exit 211s -h, --help show this help message and exit 211s --manpage output a manpage based on the help 211s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 211s --errorlevel=ERRORLEVEL 211s show errorlevel as: none, message, exception, 211s traceback 211s -i INPUT, --input=INPUT 211s read from INPUT in lang, properties, strings formats 211s -x EXCLUDE, --exclude=EXCLUDE 211s exclude names matching EXCLUDE from input paths 211s -o OUTPUT, --output=OUTPUT 211s write to OUTPUT in po, pot formats 211s -t TEMPLATE, --template=TEMPLATE 211s read from TEMPLATE in lang, properties, strings 211s formats 211s -S, --timestamp skip conversion if the output file has newer timestamp 211s -P, --pot output PO Templates (.pot) rather than PO files (.po) 211s --personality=TYPE override the input file format: java, java-utf8, java- 211s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 211s strings, strings-utf8, joomla (for .properties files, 211s default: java) 211s --encoding=ENCODING override the encoding set by the personality 211s --duplicates=DUPLICATESTYLE 211s what to do with duplicate strings (identical source 211s text): merge, msgctxt (default: 'msgctxt') 211s ========= SMOKE TEST: /usr/bin/pydiff =========== 211s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 211s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 211s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 211s fromfile tofile 211s 211s positional arguments: 211s fromfile 211s tofile 211s 211s options: 211s -h, --help show this help message and exit 211s -i, --ignore-case Ignore case differences in file contents. 211s -U, --unified NUM Output NUM (default 3) lines of unified context 211s -r, --recursive Recursively compare any subdirectories found. 211s -N, --new-file Treat absent files as empty. 211s --unidirectional-new-file 211s Treat absent first files as empty. 211s -s, --report-identical-files 211s Report when two files are the same. 211s -x, --exclude PAT Exclude files that match PAT. 211s --fromcontains TEXT Only show changes where fromfile contains TEXT 211s --tocontains TEXT Only show changes where tofile contains TEXT 211s --contains TEXT Only show changes where fromfile or tofile contains 211s TEXT 211s -I, --ignore-case-contains 211s Ignore case differences when matching any of the 211s changes 211s --accelerator ACCELERATORS 211s ignores the given accelerator characters when matching 212s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 212s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 212s 212s Convert Python format .po files to PHP format .po files. 212s 212s Options: 212s --version show program's version number and exit 212s -h, --help show this help message and exit 212s --manpage output a manpage based on the help 212s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 212s --errorlevel=ERRORLEVEL 212s show errorlevel as: none, message, exception, 212s traceback 212s -i INPUT, --input=INPUT 212s read from INPUT in po, pot formats 212s -x EXCLUDE, --exclude=EXCLUDE 212s exclude names matching EXCLUDE from input paths 212s -o OUTPUT, --output=OUTPUT 212s write to OUTPUT in po, pot formats 212s -S, --timestamp skip conversion if the output file has newer timestamp 212s ========= SMOKE TEST: /usr/bin/rc2po =========== 212s 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] 212s 212s Convert Windows RC files to Gettext PO localization files. See: 212s http://docs.translatehouse.org/projects/translate- 212s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 212s 212s Options: 212s --version show program's version number and exit 212s -h, --help show this help message and exit 212s --manpage output a manpage based on the help 212s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 212s --errorlevel=ERRORLEVEL 212s show errorlevel as: none, message, exception, 212s traceback 212s -i INPUT, --input=INPUT 212s read from INPUT in nls, rc formats 212s -x EXCLUDE, --exclude=EXCLUDE 212s exclude names matching EXCLUDE from input paths 212s -o OUTPUT, --output=OUTPUT 212s write to OUTPUT in po, pot formats 212s -t TEMPLATE, --template=TEMPLATE 212s read from TEMPLATE in nls, rc formats 212s -S, --timestamp skip conversion if the output file has newer timestamp 212s -P, --pot output PO Templates (.pot) rather than PO files (.po) 212s --charset=CHARSET charset to use to decode the RC files (autodetection 212s is used by default) 212s -l LANG, --lang=LANG LANG entry (default: None) 212s --sublang=SUBLANG SUBLANG entry (default: None) 212s --duplicates=DUPLICATESTYLE 212s what to do with duplicate strings (identical source 212s text): merge, msgctxt (default: 'msgctxt') 212s ========= SMOKE TEST: /usr/bin/resx2po =========== 212s 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] 212s 212s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 212s http://docs.translatehouse.org/projects/translate- 212s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 212s 212s Options: 212s --version show program's version number and exit 212s -h, --help show this help message and exit 212s --manpage output a manpage based on the help 212s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 212s --errorlevel=ERRORLEVEL 212s show errorlevel as: none, message, exception, 212s traceback 212s -i INPUT, --input=INPUT 212s read from INPUT in resx format 212s -x EXCLUDE, --exclude=EXCLUDE 212s exclude names matching EXCLUDE from input paths 212s -o OUTPUT, --output=OUTPUT 212s write to OUTPUT in po, pot formats 212s -t TEMPLATE, --template=TEMPLATE 212s read from TEMPLATE in resx format 212s -S, --timestamp skip conversion if the output file has newer timestamp 212s -P, --pot output PO Templates (.pot) rather than PO files (.po) 212s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 212s everything) 212s --duplicates=DUPLICATESTYLE 212s what to do with duplicate strings (identical source 212s text): merge, msgctxt (default: 'msgctxt') 213s ========= SMOKE TEST: /usr/bin/sub2po =========== 213s 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] 213s 213s Convert subtitle files to Gettext PO localization files. See: 213s http://docs.translatehouse.org/projects/translate- 213s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 213s 213s Options: 213s --version show program's version number and exit 213s -h, --help show this help message and exit 213s --manpage output a manpage based on the help 213s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 213s --errorlevel=ERRORLEVEL 213s show errorlevel as: none, message, exception, 213s traceback 213s -i INPUT, --input=INPUT 213s read from INPUT in ass, srt, ssa, sub formats 213s -x EXCLUDE, --exclude=EXCLUDE 213s exclude names matching EXCLUDE from input paths 213s -o OUTPUT, --output=OUTPUT 213s write to OUTPUT in po, pot formats 213s -t TEMPLATE, --template=TEMPLATE 213s read from TEMPLATE in ass, srt, ssa, sub formats 213s -S, --timestamp skip conversion if the output file has newer timestamp 213s -P, --pot output PO Templates (.pot) rather than PO files (.po) 213s --duplicates=DUPLICATESTYLE 213s what to do with duplicate strings (identical source 213s text): merge, msgctxt (default: 'msgctxt') 213s ========= SMOKE TEST: /usr/bin/symb2po =========== 213s 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] 213s 213s Convert Symbian localisation files to Gettext PO localization files. See: 213s http://docs.translatehouse.org/projects/translate- 213s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 213s 213s Options: 213s --version show program's version number and exit 213s -h, --help show this help message and exit 213s --manpage output a manpage based on the help 213s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 213s --errorlevel=ERRORLEVEL 213s show errorlevel as: none, message, exception, 213s traceback 213s -i INPUT, --input=INPUT 213s read from INPUT in r01 format 213s -x EXCLUDE, --exclude=EXCLUDE 213s exclude names matching EXCLUDE from input paths 213s -o OUTPUT, --output=OUTPUT 213s write to OUTPUT in po, pot formats 213s -t TEMPLATE, --template=TEMPLATE 213s read from TEMPLATE in 213s -S, --timestamp skip conversion if the output file has newer timestamp 213s -P, --pot output PO Templates (.pot) rather than PO files (.po) 213s --duplicates=DUPLICATESTYLE 213s what to do with duplicate strings (identical source 213s text): merge, msgctxt (default: 'msgctxt') 213s ========= SMOKE TEST: /usr/bin/tbx2po =========== 213s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 213s 213s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 213s http://docs.translatehouse.org/projects/translate- 213s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 213s 213s Options: 213s --version show program's version number and exit 213s -h, --help show this help message and exit 213s --manpage output a manpage based on the help 213s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 213s --errorlevel=ERRORLEVEL 213s show errorlevel as: none, message, exception, 213s traceback 213s -i INPUT, --input=INPUT 213s read from INPUT in tbx format 213s -x EXCLUDE, --exclude=EXCLUDE 213s exclude names matching EXCLUDE from input paths 213s -o OUTPUT, --output=OUTPUT 213s write to OUTPUT in po, pot formats 213s -S, --timestamp skip conversion if the output file has newer timestamp 213s ========= SMOKE TEST: /usr/bin/tiki2po =========== 214s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 214s 214s Convert TikiWiki's language.php files to Gettext PO localization files. See: 214s http://docs.translatehouse.org/projects/translate- 214s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 214s 214s Options: 214s --version show program's version number and exit 214s -h, --help show this help message and exit 214s --manpage output a manpage based on the help 214s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 214s --errorlevel=ERRORLEVEL 214s show errorlevel as: none, message, exception, 214s traceback 214s -i INPUT, --input=INPUT 214s read from INPUT in php format 214s -x EXCLUDE, --exclude=EXCLUDE 214s exclude names matching EXCLUDE from input paths 214s -o OUTPUT, --output=OUTPUT 214s write to OUTPUT in po, pot formats 214s -S, --timestamp skip conversion if the output file has newer timestamp 214s --include-unused Include strings in the unused section 214s ========= SMOKE TEST: /usr/bin/tmserver =========== 214s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 214s [-s SOURCE_LANG] [-b BIND] [-p PORT] 214s [--max-candidates MAX_CANDIDATES] 214s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 214s [--debug] 214s 214s options: 214s -h, --help show this help message and exit 214s -d, --tmdb TMDBFILE translation memory database file 214s -f, --import-translation-file TMFILES 214s translation file to import into the database 214s -t, --import-target-lang TARGET_LANG 214s target language of translation files 214s -s, --import-source-lang SOURCE_LANG 214s source language of translation files 214s -b, --bind BIND address to bind server to (default: localhost) 214s -p, --port PORT port to listen on (default: 8888) 214s --max-candidates MAX_CANDIDATES 214s Maximum number of candidates 214s --min-similarity MIN_SIMILARITY 214s minimum similarity 214s --max-length MAX_LENGTH 214s Maxmimum string length 214s --debug enable debugging features 214s ========= SMOKE TEST: /usr/bin/ts2po =========== 214s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 214s 214s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 214s http://docs.translatehouse.org/projects/translate- 214s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 214s 214s Options: 214s --version show program's version number and exit 214s -h, --help show this help message and exit 214s --manpage output a manpage based on the help 214s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 214s --errorlevel=ERRORLEVEL 214s show errorlevel as: none, message, exception, 214s traceback 214s -i INPUT, --input=INPUT 214s read from INPUT in ts format 214s -x EXCLUDE, --exclude=EXCLUDE 214s exclude names matching EXCLUDE from input paths 214s -o OUTPUT, --output=OUTPUT 214s write to OUTPUT in po, pot formats 214s -S, --timestamp skip conversion if the output file has newer timestamp 214s -P, --pot output PO Templates (.pot) rather than PO files (.po) 214s --duplicates=DUPLICATESTYLE 214s what to do with duplicate strings (identical source 214s text): merge, msgctxt (default: 'msgctxt') 215s ========= SMOKE TEST: /usr/bin/txt2po =========== 215s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 215s 215s Convert plain text (.txt) files to Gettext PO localization files. See: 215s http://docs.translatehouse.org/projects/translate- 215s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 215s 215s Options: 215s --version show program's version number and exit 215s -h, --help show this help message and exit 215s --manpage output a manpage based on the help 215s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 215s --errorlevel=ERRORLEVEL 215s show errorlevel as: none, message, exception, 215s traceback 215s -i INPUT, --input=INPUT 215s read from INPUT in *, txt formats 215s -x EXCLUDE, --exclude=EXCLUDE 215s exclude names matching EXCLUDE from input paths 215s -o OUTPUT, --output=OUTPUT 215s write to OUTPUT in po, pot formats 215s -S, --timestamp skip conversion if the output file has newer timestamp 215s -P, --pot output PO Templates (.pot) rather than PO files (.po) 215s --encoding=ENCODING The encoding of the input file (default: UTF-8) 215s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 215s mediawiki 215s --no-segmentation Don't segment the file, treat it like a single message 215s --duplicates=DUPLICATESTYLE 215s what to do with duplicate strings (identical source 215s text): merge, msgctxt (default: 'msgctxt') 215s ========= SMOKE TEST: /usr/bin/web2py2po =========== 215s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 215s 215s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 215s http://docs.translatehouse.org/projects/translate- 215s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 215s 215s Options: 215s --version show program's version number and exit 215s -h, --help show this help message and exit 215s --manpage output a manpage based on the help 215s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 215s --errorlevel=ERRORLEVEL 215s show errorlevel as: none, message, exception, 215s traceback 215s -i INPUT, --input=INPUT 215s read from INPUT in py format 215s -x EXCLUDE, --exclude=EXCLUDE 215s exclude names matching EXCLUDE from input paths 215s -o OUTPUT, --output=OUTPUT 215s write to OUTPUT in po, pot formats 215s -S, --timestamp skip conversion if the output file has newer timestamp 215s -P, --pot output PO Templates (.pot) rather than PO files (.po) 215s --duplicates=DUPLICATESTYLE 215s what to do with duplicate strings (identical source 215s text): merge, msgctxt (default: 'msgctxt') 215s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 215s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 215s 215s Convert XLIFF translation files to OpenDocument (ODF) files. See: 215s http://docs.translatehouse.org/projects/translate- 215s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 215s 215s Options: 215s --version show program's version number and exit 215s -h, --help show this help message and exit 215s --manpage output a manpage based on the help 215s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 215s --errorlevel=ERRORLEVEL 215s show errorlevel as: none, message, exception, 215s traceback 215s -i INPUT, --input=INPUT 215s read from INPUT in xlf format 215s -x EXCLUDE, --exclude=EXCLUDE 215s exclude names matching EXCLUDE from input paths 215s -o OUTPUT, --output=OUTPUT 215s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 215s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 215s -t TEMPLATE, --template=TEMPLATE 215s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 215s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 215s formats 215s -S, --timestamp skip conversion if the output file has newer timestamp 216s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 216s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 216s 216s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 216s file. See: http://docs.translatehouse.org/projects/translate- 216s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 216s 216s Options: 216s --version show program's version number and exit 216s -h, --help show this help message and exit 216s --manpage output a manpage based on the help 216s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 216s --errorlevel=ERRORLEVEL 216s show errorlevel as: none, message, exception, 216s traceback 216s -i INPUT, --input=INPUT 216s read from INPUT in po, pot, xlf, xliff formats 216s -x EXCLUDE, --exclude=EXCLUDE 216s exclude names matching EXCLUDE from input paths 216s -o OUTPUT, --output=OUTPUT 216s write to OUTPUT in oo, sdf formats 216s -t TEMPLATE, --template=TEMPLATE 216s read from TEMPLATE in oo, sdf formats 216s -S, --timestamp skip conversion if the output file has newer timestamp 216s -l LANG, --language=LANG 216s set target language code (e.g. af-ZA) [required] 216s --source-language=LANG 216s set source language code (default en-US) 216s -T, --keeptimestamp don't change the timestamps of the strings 216s --nonrecursiveoutput don't treat the output oo as a recursive store 216s --nonrecursivetemplate 216s don't treat the template oo as a recursive store 216s --skipsource don't output the source language, but fallback to it 216s where needed 216s --filteraction=ACTION 216s action on pofilter failure: none (default), warn, 216s exclude-serious, exclude-all 216s --fuzzy use translations marked fuzzy 216s --nofuzzy don't use translations marked fuzzy (default) 216s --multifile=MULTIFILESTYLE 216s how to split po/pot files (single, toplevel or 216s onefile) 216s ========= SMOKE TEST: /usr/bin/xliff2po =========== 216s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 216s 216s Convert XLIFF localization files to Gettext PO localization files. See: 216s http://docs.translatehouse.org/projects/translate- 216s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 216s 216s Options: 216s --version show program's version number and exit 216s -h, --help show this help message and exit 216s --manpage output a manpage based on the help 216s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 216s --errorlevel=ERRORLEVEL 216s show errorlevel as: none, message, exception, 216s traceback 216s -i INPUT, --input=INPUT 216s read from INPUT in xlf, xliff formats 216s -x EXCLUDE, --exclude=EXCLUDE 216s exclude names matching EXCLUDE from input paths 216s -o OUTPUT, --output=OUTPUT 216s write to OUTPUT in po, pot formats 216s -S, --timestamp skip conversion if the output file has newer timestamp 216s -P, --pot output PO Templates (.pot) rather than PO files (.po) 216s --duplicates=DUPLICATESTYLE 216s what to do with duplicate strings (identical source 216s text): merge, msgctxt (default: 'msgctxt') 216s ========= SMOKE TEST: /usr/bin/yaml2po =========== 217s 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] 217s 217s Convert YAML files to Gettext PO localization files. See: 217s http://docs.translatehouse.org/projects/translate- 217s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 217s 217s Options: 217s --version show program's version number and exit 217s -h, --help show this help message and exit 217s --manpage output a manpage based on the help 217s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 217s --errorlevel=ERRORLEVEL 217s show errorlevel as: none, message, exception, 217s traceback 217s -i INPUT, --input=INPUT 217s read from INPUT in yaml, yml formats 217s -x EXCLUDE, --exclude=EXCLUDE 217s exclude names matching EXCLUDE from input paths 217s -o OUTPUT, --output=OUTPUT 217s write to OUTPUT in po, pot formats 217s -t TEMPLATE, --template=TEMPLATE 217s read from TEMPLATE in yaml, yml formats 217s -S, --timestamp skip conversion if the output file has newer timestamp 217s -P, --pot output PO Templates (.pot) rather than PO files (.po) 217s --duplicates=DUPLICATESTYLE 217s what to do with duplicate strings (identical source 217s text): merge, msgctxt (default: 'msgctxt') 217s autopkgtest [06:20:10]: test translate-toolkit: -----------------------] 218s autopkgtest [06:20:11]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 218s translate-toolkit PASS 219s autopkgtest [06:20:12]: test python3-translate: preparing testbed 239s Creating nova instance adt-resolute-arm64-translate-toolkit-20251028-061633-juju-7f2275-prod-proposed-migration-environment-15-dab30b12-121a-4ebd-97df-7f0de56a3d66 from image adt/ubuntu-resolute-arm64-server-20251027.img (UUID 0c8717a7-1983-4858-8ad5-6d56cfcb3438)... 342s autopkgtest [06:22:15]: testbed dpkg architecture: arm64 342s autopkgtest [06:22:15]: testbed apt version: 3.1.8ubuntu1 342s autopkgtest [06:22:15]: @@@@@@@@@@@@@@@@@@@@ test bed setup 343s autopkgtest [06:22:16]: testbed release detected to be: resolute 343s autopkgtest [06:22:16]: updating testbed package index (apt update) 344s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 344s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 344s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 344s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 344s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5856 B] 344s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [3342 kB] 348s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [61.7 kB] 348s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [216 kB] 348s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 Packages [252 kB] 348s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 c-n-f Metadata [2440 B] 348s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 Packages [44.3 kB] 348s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 c-n-f Metadata [324 B] 348s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 Packages [839 kB] 349s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 c-n-f Metadata [7312 B] 349s Get:15 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 Packages [6752 B] 349s Get:16 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 c-n-f Metadata [376 B] 351s Fetched 4865 kB in 5s (895 kB/s) 353s Reading package lists... 354s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 354s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 354s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 354s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 355s Reading package lists... 355s Reading package lists... 356s Building dependency tree... 356s Reading state information... 356s Calculating upgrade... 357s The following NEW packages will be installed: 357s util-linux-extra 357s The following packages will be upgraded: 357s bsdextrautils bsdutils fdisk libblkid1 libfdisk1 liblastlog2-2 libmount1 357s libsmartcols1 libuuid1 login mount python3-cffi-backend util-linux 357s uuid-runtime 357s 14 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 357s Need to get 2847 kB of archives. 357s After this operation, 1738 kB of additional disk space will be used. 357s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 fdisk arm64 2.41.2-4ubuntu1 [149 kB] 357s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 libblkid1 arm64 2.41.2-4ubuntu1 [139 kB] 357s Get:3 http://ftpmaster.internal/ubuntu resolute/main arm64 libmount1 arm64 2.41.2-4ubuntu1 [173 kB] 358s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 libsmartcols1 arm64 2.41.2-4ubuntu1 [96.2 kB] 358s Get:5 http://ftpmaster.internal/ubuntu resolute/main arm64 mount arm64 2.41.2-4ubuntu1 [145 kB] 358s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 uuid-runtime arm64 2.41.2-4ubuntu1 [56.9 kB] 358s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 libuuid1 arm64 2.41.2-4ubuntu1 [45.3 kB] 358s Get:8 http://ftpmaster.internal/ubuntu resolute/main arm64 libfdisk1 arm64 2.41.2-4ubuntu1 [173 kB] 358s Get:9 http://ftpmaster.internal/ubuntu resolute/main arm64 bsdutils arm64 1:2.41.2-4ubuntu1 [93.0 kB] 358s Get:10 http://ftpmaster.internal/ubuntu resolute/main arm64 util-linux arm64 2.41.2-4ubuntu1 [1082 kB] 359s Get:11 http://ftpmaster.internal/ubuntu resolute/main arm64 bsdextrautils arm64 2.41.2-4ubuntu1 [94.1 kB] 359s Get:12 http://ftpmaster.internal/ubuntu resolute/main arm64 login arm64 1:4.16.0-2+really2.41.2-4ubuntu1 [94.9 kB] 359s Get:13 http://ftpmaster.internal/ubuntu resolute/main arm64 liblastlog2-2 arm64 2.41.2-4ubuntu1 [35.7 kB] 359s Get:14 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-cffi-backend arm64 2.0.0-2 [110 kB] 360s Get:15 http://ftpmaster.internal/ubuntu resolute/universe arm64 util-linux-extra arm64 2.41.2-4ubuntu1 [361 kB] 361s dpkg-preconfigure: unable to re-open stdin: No such file or directory 361s Fetched 2847 kB in 3s (891 kB/s) 361s (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 ... 83387 files and directories currently installed.) 361s Preparing to unpack .../fdisk_2.41.2-4ubuntu1_arm64.deb ... 361s Unpacking fdisk (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 361s Preparing to unpack .../libblkid1_2.41.2-4ubuntu1_arm64.deb ... 361s Unpacking libblkid1:arm64 (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 362s Setting up libblkid1:arm64 (2.41.2-4ubuntu1) ... 362s (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 ... 83387 files and directories currently installed.) 362s Preparing to unpack .../libmount1_2.41.2-4ubuntu1_arm64.deb ... 362s Unpacking libmount1:arm64 (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 362s Setting up libmount1:arm64 (2.41.2-4ubuntu1) ... 362s (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 ... 83387 files and directories currently installed.) 362s Preparing to unpack .../libsmartcols1_2.41.2-4ubuntu1_arm64.deb ... 362s Unpacking libsmartcols1:arm64 (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 362s Setting up libsmartcols1:arm64 (2.41.2-4ubuntu1) ... 362s (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 ... 83387 files and directories currently installed.) 362s Preparing to unpack .../mount_2.41.2-4ubuntu1_arm64.deb ... 362s Unpacking mount (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 363s Preparing to unpack .../uuid-runtime_2.41.2-4ubuntu1_arm64.deb ... 363s Unpacking uuid-runtime (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 363s Preparing to unpack .../libuuid1_2.41.2-4ubuntu1_arm64.deb ... 363s Unpacking libuuid1:arm64 (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 363s Setting up libuuid1:arm64 (2.41.2-4ubuntu1) ... 363s (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 ... 83387 files and directories currently installed.) 363s Preparing to unpack .../libfdisk1_2.41.2-4ubuntu1_arm64.deb ... 363s Unpacking libfdisk1:arm64 (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 363s Preparing to unpack .../bsdutils_1%3a2.41.2-4ubuntu1_arm64.deb ... 363s Unpacking bsdutils (1:2.41.2-4ubuntu1) over (1:2.41-4ubuntu4) ... 363s Setting up bsdutils (1:2.41.2-4ubuntu1) ... 364s (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 ... 83384 files and directories currently installed.) 364s Preparing to unpack .../util-linux_2.41.2-4ubuntu1_arm64.deb ... 364s Unpacking util-linux (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 364s Setting up util-linux (2.41.2-4ubuntu1) ... 365s fstrim.service is a disabled or a static unit not running, not starting it. 366s (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 ... 83355 files and directories currently installed.) 366s Preparing to unpack .../bsdextrautils_2.41.2-4ubuntu1_arm64.deb ... 366s Unpacking bsdextrautils (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 366s Preparing to unpack .../login_1%3a4.16.0-2+really2.41.2-4ubuntu1_arm64.deb ... 366s Unpacking login (1:4.16.0-2+really2.41.2-4ubuntu1) over (1:4.16.0-2+really2.41-4ubuntu4) ... 366s Preparing to unpack .../liblastlog2-2_2.41.2-4ubuntu1_arm64.deb ... 366s Unpacking liblastlog2-2:arm64 (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 366s Setting up liblastlog2-2:arm64 (2.41.2-4ubuntu1) ... 366s (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 ... 83350 files and directories currently installed.) 366s Preparing to unpack .../python3-cffi-backend_2.0.0-2_arm64.deb ... 366s Unpacking python3-cffi-backend:arm64 (2.0.0-2) over (1.17.1-3build1) ... 367s Selecting previously unselected package util-linux-extra. 367s Preparing to unpack .../util-linux-extra_2.41.2-4ubuntu1_arm64.deb ... 367s Unpacking util-linux-extra (2.41.2-4ubuntu1) ... 367s Setting up bsdextrautils (2.41.2-4ubuntu1) ... 367s Setting up libfdisk1:arm64 (2.41.2-4ubuntu1) ... 367s Setting up mount (2.41.2-4ubuntu1) ... 367s Setting up uuid-runtime (2.41.2-4ubuntu1) ... 368s uuidd.service is a disabled or a static unit not running, not starting it. 369s Setting up util-linux-extra (2.41.2-4ubuntu1) ... 369s Setting up python3-cffi-backend:arm64 (2.0.0-2) ... 369s Setting up login (1:4.16.0-2+really2.41.2-4ubuntu1) ... 369s Setting up fdisk (2.41.2-4ubuntu1) ... 369s Processing triggers for man-db (2.13.1-1) ... 372s Processing triggers for libc-bin (2.42-0ubuntu3) ... 372s autopkgtest [06:22:45]: upgrading testbed (apt dist-upgrade and autopurge) 372s Reading package lists... 373s Building dependency tree... 373s Reading state information... 374s Calculating upgrade... 374s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 374s Reading package lists... 374s Building dependency tree... 374s Reading state information... 374s Solving dependencies... 375s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 375s autopkgtest [06:22:48]: rebooting testbed after setup commands that affected boot 421s Reading package lists... 422s Building dependency tree... 422s Reading state information... 422s Solving dependencies... 422s The following NEW packages will be installed: 422s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 422s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 422s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 422s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 422s python3-cheroot python3-cwcwidth python3-dateutil python3-diff-match-patch 422s python3-enchant python3-iniconfig python3-iniparse python3-levenshtein 422s python3-lxml python3-mistletoe python3-packaging python3-phply 422s python3-pluggy python3-ply python3-pycountry python3-pytest python3-pytz 422s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 422s python3-soupsieve python3-syrupy python3-translate python3-vobject 422s python3-xapian subversion 423s 0 upgraded, 46 newly installed, 0 to remove and 0 not upgraded. 423s Need to get 12.5 MB of archives. 423s After this operation, 63.9 MB of additional disk space will be used. 423s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 emacsen-common all 3.0.8 [13.9 kB] 423s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 dictionaries-common all 1.30.10 [178 kB] 423s Get:3 http://ftpmaster.internal/ubuntu resolute/main arm64 libgomp1 arm64 15.2.0-5ubuntu1 [148 kB] 423s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 gettext arm64 0.23.1-2build2 [1026 kB] 424s Get:5 http://ftpmaster.internal/ubuntu resolute/main arm64 hunspell-en-us all 1:2020.12.07-4 [585 kB] 424s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 libapr1t64 arm64 1.7.5-1 [106 kB] 424s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 libaprutil1t64 arm64 1.6.3-3ubuntu2 [95.1 kB] 424s Get:8 http://ftpmaster.internal/ubuntu resolute/main arm64 libaspell15 arm64 0.60.8.1-4 [319 kB] 424s Get:9 http://ftpmaster.internal/ubuntu resolute/main arm64 libhunspell-1.7-0 arm64 1.7.2+really1.7.2-10build3 [274 kB] 425s Get:10 http://ftpmaster.internal/ubuntu resolute/main arm64 libenchant-2-2 arm64 2.8.2+dfsg1-3 [57.8 kB] 425s Get:11 http://ftpmaster.internal/ubuntu resolute/main arm64 libexttextcat-data all 3.4.7-1ubuntu1 [193 kB] 425s Get:12 http://ftpmaster.internal/ubuntu resolute/universe arm64 libserf-1-1 arm64 1.3.10-3ubuntu1 [48.7 kB] 425s Get:13 http://ftpmaster.internal/ubuntu resolute/universe arm64 libutf8proc3 arm64 2.10.0-2 [71.3 kB] 425s Get:14 http://ftpmaster.internal/ubuntu resolute/universe arm64 libsvn1 arm64 1.14.5-4 [1423 kB] 427s Get:15 http://ftpmaster.internal/ubuntu resolute/universe arm64 libxapian30 arm64 1.4.29-3 [684 kB] 427s Get:16 http://ftpmaster.internal/ubuntu resolute/main arm64 libxslt1.1 arm64 1.1.43-0.3 [172 kB] 427s Get:17 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-aeidon all 1.15-2 [231 kB] 427s Get:18 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-all arm64 3.13.7-1 [884 B] 427s Get:19 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-soupsieve all 2.7-2 [33.6 kB] 427s Get:20 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 python3-bs4 all 4.14.2-1 [82.8 kB] 427s Get:21 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-charset-normalizer arm64 3.4.2-1 [125 kB] 427s Get:22 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-cheroot all 10.0.1+ds1-4 [78.6 kB] 428s Get:23 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-cwcwidth arm64 0.1.10-1build2 [27.0 kB] 428s Get:24 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-dateutil all 2.9.0-4 [80.3 kB] 428s Get:25 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-diff-match-patch all 20241021-1 [33.6 kB] 428s Get:26 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-enchant all 3.3.0~rc1-1 [35.1 kB] 428s Get:27 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 428s Get:28 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-rapidfuzz arm64 3.12.2+ds-1build1 [1368 kB] 430s Get:29 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-levenshtein arm64 0.27.1-2build1 [132 kB] 430s Get:30 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-lxml arm64 6.0.1-1build1 [2149 kB] 432s Get:31 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-mistletoe all 1.4.0-1 [38.2 kB] 432s Get:32 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-packaging all 25.0-1 [52.8 kB] 433s Get:33 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-ply all 3.11-9 [45.8 kB] 433s Get:34 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-phply all 1.2.6-1 [50.5 kB] 433s Get:35 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-pluggy all 1.6.0-1 [21.0 kB] 433s Get:36 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-pytest all 8.3.5-2 [252 kB] 433s Get:37 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-pytz all 2025.2-4 [32.3 kB] 433s Get:38 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-ruamel.yaml.clib arm64 0.2.12+ds-1build1 [138 kB] 433s Get:39 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 433s Get:40 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-syrupy all 5.0.0-1 [47.9 kB] 433s Get:41 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-translate all 3.15.1-1 [319 kB] 434s Get:42 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-vobject all 0.9.9+dfsg-1 [41.5 kB] 434s Get:43 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-xapian arm64 1.4.29-1build1 [561 kB] 434s Get:44 http://ftpmaster.internal/ubuntu resolute/universe arm64 subversion arm64 1.14.5-4 [904 kB] 435s Get:45 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-iniparse all 0.5.1-1 [21.2 kB] 435s Get:46 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 435s Preconfiguring packages ... 436s Fetched 12.5 MB in 12s (1014 kB/s) 436s Selecting previously unselected package emacsen-common. 436s (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 ... 83455 files and directories currently installed.) 436s Preparing to unpack .../00-emacsen-common_3.0.8_all.deb ... 436s Unpacking emacsen-common (3.0.8) ... 436s Selecting previously unselected package dictionaries-common. 436s Preparing to unpack .../01-dictionaries-common_1.30.10_all.deb ... 436s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 436s Unpacking dictionaries-common (1.30.10) ... 436s Selecting previously unselected package libgomp1:arm64. 436s Preparing to unpack .../02-libgomp1_15.2.0-5ubuntu1_arm64.deb ... 436s Unpacking libgomp1:arm64 (15.2.0-5ubuntu1) ... 436s Selecting previously unselected package gettext. 436s Preparing to unpack .../03-gettext_0.23.1-2build2_arm64.deb ... 436s Unpacking gettext (0.23.1-2build2) ... 436s Selecting previously unselected package hunspell-en-us. 436s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-4_all.deb ... 436s Unpacking hunspell-en-us (1:2020.12.07-4) ... 437s Selecting previously unselected package libapr1t64:arm64. 437s Preparing to unpack .../05-libapr1t64_1.7.5-1_arm64.deb ... 437s Unpacking libapr1t64:arm64 (1.7.5-1) ... 437s Selecting previously unselected package libaprutil1t64:arm64. 437s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu2_arm64.deb ... 437s Unpacking libaprutil1t64:arm64 (1.6.3-3ubuntu2) ... 437s Selecting previously unselected package libaspell15:arm64. 437s Preparing to unpack .../07-libaspell15_0.60.8.1-4_arm64.deb ... 437s Unpacking libaspell15:arm64 (0.60.8.1-4) ... 437s Selecting previously unselected package libhunspell-1.7-0:arm64. 437s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_arm64.deb ... 437s Unpacking libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 437s Selecting previously unselected package libenchant-2-2:arm64. 437s Preparing to unpack .../09-libenchant-2-2_2.8.2+dfsg1-3_arm64.deb ... 437s Unpacking libenchant-2-2:arm64 (2.8.2+dfsg1-3) ... 437s Selecting previously unselected package libexttextcat-data. 437s Preparing to unpack .../10-libexttextcat-data_3.4.7-1ubuntu1_all.deb ... 437s Unpacking libexttextcat-data (3.4.7-1ubuntu1) ... 437s Selecting previously unselected package libserf-1-1:arm64. 437s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_arm64.deb ... 437s Unpacking libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 437s Selecting previously unselected package libutf8proc3:arm64. 437s Preparing to unpack .../12-libutf8proc3_2.10.0-2_arm64.deb ... 437s Unpacking libutf8proc3:arm64 (2.10.0-2) ... 437s Selecting previously unselected package libsvn1:arm64. 437s Preparing to unpack .../13-libsvn1_1.14.5-4_arm64.deb ... 437s Unpacking libsvn1:arm64 (1.14.5-4) ... 437s Selecting previously unselected package libxapian30:arm64. 437s Preparing to unpack .../14-libxapian30_1.4.29-3_arm64.deb ... 437s Unpacking libxapian30:arm64 (1.4.29-3) ... 437s Selecting previously unselected package libxslt1.1:arm64. 437s Preparing to unpack .../15-libxslt1.1_1.1.43-0.3_arm64.deb ... 437s Unpacking libxslt1.1:arm64 (1.1.43-0.3) ... 437s Selecting previously unselected package python3-aeidon. 437s Preparing to unpack .../16-python3-aeidon_1.15-2_all.deb ... 437s Unpacking python3-aeidon (1.15-2) ... 437s Selecting previously unselected package python3-all. 437s Preparing to unpack .../17-python3-all_3.13.7-1_arm64.deb ... 437s Unpacking python3-all (3.13.7-1) ... 438s Selecting previously unselected package python3-soupsieve. 438s Preparing to unpack .../18-python3-soupsieve_2.7-2_all.deb ... 438s Unpacking python3-soupsieve (2.7-2) ... 438s Selecting previously unselected package python3-bs4. 438s Preparing to unpack .../19-python3-bs4_4.14.2-1_all.deb ... 438s Unpacking python3-bs4 (4.14.2-1) ... 438s Selecting previously unselected package python3-charset-normalizer. 438s Preparing to unpack .../20-python3-charset-normalizer_3.4.2-1_arm64.deb ... 438s Unpacking python3-charset-normalizer (3.4.2-1) ... 438s Selecting previously unselected package python3-cheroot. 438s Preparing to unpack .../21-python3-cheroot_10.0.1+ds1-4_all.deb ... 438s Unpacking python3-cheroot (10.0.1+ds1-4) ... 438s Selecting previously unselected package python3-cwcwidth. 438s Preparing to unpack .../22-python3-cwcwidth_0.1.10-1build2_arm64.deb ... 438s Unpacking python3-cwcwidth (0.1.10-1build2) ... 438s Selecting previously unselected package python3-dateutil. 438s Preparing to unpack .../23-python3-dateutil_2.9.0-4_all.deb ... 438s Unpacking python3-dateutil (2.9.0-4) ... 438s Selecting previously unselected package python3-diff-match-patch. 438s Preparing to unpack .../24-python3-diff-match-patch_20241021-1_all.deb ... 438s Unpacking python3-diff-match-patch (20241021-1) ... 438s Selecting previously unselected package python3-enchant. 438s Preparing to unpack .../25-python3-enchant_3.3.0~rc1-1_all.deb ... 438s Unpacking python3-enchant (3.3.0~rc1-1) ... 438s Selecting previously unselected package python3-iniconfig. 438s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 438s Unpacking python3-iniconfig (1.1.1-2) ... 438s Selecting previously unselected package python3-rapidfuzz. 438s Preparing to unpack .../27-python3-rapidfuzz_3.12.2+ds-1build1_arm64.deb ... 438s Unpacking python3-rapidfuzz (3.12.2+ds-1build1) ... 438s Selecting previously unselected package python3-levenshtein. 438s Preparing to unpack .../28-python3-levenshtein_0.27.1-2build1_arm64.deb ... 438s Unpacking python3-levenshtein (0.27.1-2build1) ... 438s Selecting previously unselected package python3-lxml:arm64. 438s Preparing to unpack .../29-python3-lxml_6.0.1-1build1_arm64.deb ... 438s Unpacking python3-lxml:arm64 (6.0.1-1build1) ... 439s Selecting previously unselected package python3-mistletoe. 439s Preparing to unpack .../30-python3-mistletoe_1.4.0-1_all.deb ... 439s Unpacking python3-mistletoe (1.4.0-1) ... 439s Selecting previously unselected package python3-packaging. 439s Preparing to unpack .../31-python3-packaging_25.0-1_all.deb ... 439s Unpacking python3-packaging (25.0-1) ... 439s Selecting previously unselected package python3-ply. 439s Preparing to unpack .../32-python3-ply_3.11-9_all.deb ... 439s Unpacking python3-ply (3.11-9) ... 439s Selecting previously unselected package python3-phply. 439s Preparing to unpack .../33-python3-phply_1.2.6-1_all.deb ... 439s Unpacking python3-phply (1.2.6-1) ... 439s Selecting previously unselected package python3-pluggy. 439s Preparing to unpack .../34-python3-pluggy_1.6.0-1_all.deb ... 439s Unpacking python3-pluggy (1.6.0-1) ... 439s Selecting previously unselected package python3-pytest. 439s Preparing to unpack .../35-python3-pytest_8.3.5-2_all.deb ... 439s Unpacking python3-pytest (8.3.5-2) ... 439s Selecting previously unselected package python3-pytz. 439s Preparing to unpack .../36-python3-pytz_2025.2-4_all.deb ... 439s Unpacking python3-pytz (2025.2-4) ... 439s Selecting previously unselected package python3-ruamel.yaml.clib. 439s Preparing to unpack .../37-python3-ruamel.yaml.clib_0.2.12+ds-1build1_arm64.deb ... 439s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 439s Selecting previously unselected package python3-ruamel.yaml. 439s Preparing to unpack .../38-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 439s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 439s Selecting previously unselected package python3-syrupy. 439s Preparing to unpack .../39-python3-syrupy_5.0.0-1_all.deb ... 439s Unpacking python3-syrupy (5.0.0-1) ... 439s Selecting previously unselected package python3-translate. 439s Preparing to unpack .../40-python3-translate_3.15.1-1_all.deb ... 439s Unpacking python3-translate (3.15.1-1) ... 439s Selecting previously unselected package python3-vobject. 439s Preparing to unpack .../41-python3-vobject_0.9.9+dfsg-1_all.deb ... 439s Unpacking python3-vobject (0.9.9+dfsg-1) ... 439s Selecting previously unselected package python3-xapian. 439s Preparing to unpack .../42-python3-xapian_1.4.29-1build1_arm64.deb ... 439s Unpacking python3-xapian (1.4.29-1build1) ... 439s Selecting previously unselected package subversion. 440s Preparing to unpack .../43-subversion_1.14.5-4_arm64.deb ... 440s Unpacking subversion (1.14.5-4) ... 440s Selecting previously unselected package python3-iniparse. 440s Preparing to unpack .../44-python3-iniparse_0.5.1-1_all.deb ... 440s Unpacking python3-iniparse (0.5.1-1) ... 440s Selecting previously unselected package python3-pycountry. 440s Preparing to unpack .../45-python3-pycountry_24.6.1+ds1-1_all.deb ... 440s Unpacking python3-pycountry (24.6.1+ds1-1) ... 440s Setting up python3-iniconfig (1.1.1-2) ... 440s Setting up libxapian30:arm64 (1.4.29-3) ... 440s Setting up python3-rapidfuzz (3.12.2+ds-1build1) ... 440s Setting up python3-diff-match-patch (20241021-1) ... 441s Setting up python3-aeidon (1.15-2) ... 441s Setting up libutf8proc3:arm64 (2.10.0-2) ... 441s Setting up libaspell15:arm64 (0.60.8.1-4) ... 441s Setting up python3-charset-normalizer (3.4.2-1) ... 441s Setting up python3-ply (3.11-9) ... 442s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 442s Setting up python3-all (3.13.7-1) ... 442s Setting up python3-pytz (2025.2-4) ... 442s Setting up libgomp1:arm64 (15.2.0-5ubuntu1) ... 442s Setting up python3-packaging (25.0-1) ... 442s Setting up emacsen-common (3.0.8) ... 442s Setting up python3-cheroot (10.0.1+ds1-4) ... 443s Setting up python3-pycountry (24.6.1+ds1-1) ... 443s Setting up python3-xapian (1.4.29-1build1) ... 443s Setting up python3-cwcwidth (0.1.10-1build2) ... 443s Setting up python3-pluggy (1.6.0-1) ... 443s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 444s Setting up python3-mistletoe (1.4.0-1) ... 444s Setting up libexttextcat-data (3.4.7-1ubuntu1) ... 444s Setting up libapr1t64:arm64 (1.7.5-1) ... 444s Setting up libxslt1.1:arm64 (1.1.43-0.3) ... 444s Setting up python3-dateutil (2.9.0-4) ... 444s Setting up python3-levenshtein (0.27.1-2build1) ... 445s Setting up libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 445s Setting up python3-soupsieve (2.7-2) ... 445s Setting up python3-iniparse (0.5.1-1) ... 445s Setting up libaprutil1t64:arm64 (1.6.3-3ubuntu2) ... 445s Setting up python3-vobject (0.9.9+dfsg-1) ... 445s Setting up gettext (0.23.1-2build2) ... 445s Setting up python3-phply (1.2.6-1) ... 446s Setting up dictionaries-common (1.30.10) ... 447s Setting up python3-pytest (8.3.5-2) ... 447s Setting up python3-syrupy (5.0.0-1) ... 448s Setting up libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 448s Setting up python3-bs4 (4.14.2-1) ... 448s Setting up python3-lxml:arm64 (6.0.1-1build1) ... 448s Setting up hunspell-en-us (1:2020.12.07-4) ... 448s Setting up libsvn1:arm64 (1.14.5-4) ... 448s Setting up libenchant-2-2:arm64 (2.8.2+dfsg1-3) ... 448s Setting up subversion (1.14.5-4) ... 448s Setting up python3-enchant (3.3.0~rc1-1) ... 448s Setting up python3-translate (3.15.1-1) ... 449s Processing triggers for libc-bin (2.42-0ubuntu3) ... 449s Processing triggers for man-db (2.13.1-1) ... 452s Processing triggers for install-info (7.1.1-1ubuntu1) ... 452s Processing triggers for dictionaries-common (1.30.10) ... 455s autopkgtest [06:24:08]: test python3-translate: [----------------------- 456s ============================= test session starts ============================== 456s platform linux -- Python 3.13.9, pytest-8.3.5, pluggy-1.6.0 -- /usr/bin/python3.13 456s cachedir: .pytest_cache 456s rootdir: /tmp/autopkgtest.F5USWy/autopkgtest_tmp 456s plugins: syrupy-5.0.0, typeguard-4.4.2 466s collecting ... collected 3383 items / 2 skipped 466s 466s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 466s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 466s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 466s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 466s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 466s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 466s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 466s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 466s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 466s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 466s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 466s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 466s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 466s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 466s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 466s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 466s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 466s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 466s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 466s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 466s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 466s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 466s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 466s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 466s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 466s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 466s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 466s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 466s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 466s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 466s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 466s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 466s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 466s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 466s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 466s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 466s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 466s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 466s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 466s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 466s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 466s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 467s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 467s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 467s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 467s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 467s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 467s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 467s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 467s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 467s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 467s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 467s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 467s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 467s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 467s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 467s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 467s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 467s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 467s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 467s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 467s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 467s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 467s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 467s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 467s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 467s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 467s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 3%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 4%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 467s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 467s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 467s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 467s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 467s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 467s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 467s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 467s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 467s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 467s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 467s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 467s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 6%] 467s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 467s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 467s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 467s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 467s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 467s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 467s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 467s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 467s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 467s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 467s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 467s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 467s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 467s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 467s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 467s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 467s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 467s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 467s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 467s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 467s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 467s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 467s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 467s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 467s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 467s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 467s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 467s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 467s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 467s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 467s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 467s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 467s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 467s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 7%] 467s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 467s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 467s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 467s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 467s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 467s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 467s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 467s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 467s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 467s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 467s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 467s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 467s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 467s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 467s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 467s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 467s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 467s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 467s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 467s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 467s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 467s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 467s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 467s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 467s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 467s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 467s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 467s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 467s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 467s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 467s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 467s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 467s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 467s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 8%] 467s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 468s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 468s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 468s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 468s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 468s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 468s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 468s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 468s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 468s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 468s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 468s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 468s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 468s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 468s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 468s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 468s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 468s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 468s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 468s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 468s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 468s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 468s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 468s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 468s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 468s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 468s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 468s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 468s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 468s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 468s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 468s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 468s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 9%] 468s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 9%] 468s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 468s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 468s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 468s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 468s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 468s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 468s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 468s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 468s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 468s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 468s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 468s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 468s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 468s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 468s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 468s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 469s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 469s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 469s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 469s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 469s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 469s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 469s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 469s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 469s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 469s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 469s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 469s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 469s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 469s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 10%] 469s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 469s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 469s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 10%] 469s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 10%] 469s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 469s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 469s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 469s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 469s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 469s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 469s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 469s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 11%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 12%] 469s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 12%] 469s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 12%] 469s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 12%] 469s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 469s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 469s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 469s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 469s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 469s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 469s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 13%] 469s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 469s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 469s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 469s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 469s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 469s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 469s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 469s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 469s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 14%] 469s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 14%] 469s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 469s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 469s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 15%] 469s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 15%] 469s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 15%] 469s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 469s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 469s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 469s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 469s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 469s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 469s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 469s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 469s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 469s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 469s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 469s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 469s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 469s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 469s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 469s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 469s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 469s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 469s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 469s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 469s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 469s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 469s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 469s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 469s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 469s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 469s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 16%] 469s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 16%] 469s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 469s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 469s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 469s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 16%] 469s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 16%] 469s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 16%] 469s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 469s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 469s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 469s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 469s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 469s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 469s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 469s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 469s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 469s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 469s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 469s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 469s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 469s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 469s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 469s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 469s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 470s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 470s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 470s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 470s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 470s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 470s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 470s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 470s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 470s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 470s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 17%] 470s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 17%] 470s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 17%] 470s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 17%] 470s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 470s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 17%] 470s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 17%] 470s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 470s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 470s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 470s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 470s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 470s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 470s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 470s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 470s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 470s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 470s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 470s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 470s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 470s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 470s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 470s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 470s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 470s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 470s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 470s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 470s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 470s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 470s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 18%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 18%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 18%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 18%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 18%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 18%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 18%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 18%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 19%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 470s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 470s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 470s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 471s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 471s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 471s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 471s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 471s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 471s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 471s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 471s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 471s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 471s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 471s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 20%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 20%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 20%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 20%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 20%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 20%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 20%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 471s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 471s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 471s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 471s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 471s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 21%] 471s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 21%] 471s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 21%] 471s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 21%] 471s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 21%] 471s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 21%] 471s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 21%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 21%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 21%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 471s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 471s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 22%] 471s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 22%] 471s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 22%] 471s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 22%] 471s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 22%] 471s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 22%] 471s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 22%] 471s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 22%] 471s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 22%] 471s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 471s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 471s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 471s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 471s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 471s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 471s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 471s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 471s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 471s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 471s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 472s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 472s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 472s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 472s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 472s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 472s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 472s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 472s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 472s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 472s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 472s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 472s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 472s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 472s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 23%] 472s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 23%] 472s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 23%] 472s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 23%] 472s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 23%] 472s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 23%] 472s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 23%] 472s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 23%] 472s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 23%] 472s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 472s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 472s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 472s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 472s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 472s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 472s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 472s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 472s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 472s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 472s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 472s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 472s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 472s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 472s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 472s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 472s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 472s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 472s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 472s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 472s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 472s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 472s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 472s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 472s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 24%] 472s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 24%] 472s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 24%] 472s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 24%] 472s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 24%] 472s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 24%] 472s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 24%] 472s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 24%] 472s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 24%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 24%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 25%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 26%] 472s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 26%] 472s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 472s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 472s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 27%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 472s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 472s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 472s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 473s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 473s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 473s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 473s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 473s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 473s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 473s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 28%] 473s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 28%] 473s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 28%] 473s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 28%] 473s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 28%] 473s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 28%] 473s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 28%] 473s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 28%] 473s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 28%] 473s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 28%] 473s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 28%] 473s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 28%] 473s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 473s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 473s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 473s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 473s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 473s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 473s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 473s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 473s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 473s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 473s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 473s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 473s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 473s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 473s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 473s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 473s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 473s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 473s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 473s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 473s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 473s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 29%] 473s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 29%] 473s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 29%] 473s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 29%] 473s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 29%] 473s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 29%] 473s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 29%] 473s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 29%] 473s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 29%] 473s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 29%] 473s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 29%] 473s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 29%] 473s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 473s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 473s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 473s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 473s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 473s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 473s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 473s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 473s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 473s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 473s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 473s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 473s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 473s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 473s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 473s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 473s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 473s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 473s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 473s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 473s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 473s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 473s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 30%] 473s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 30%] 473s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 30%] 473s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 30%] 473s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 30%] 473s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 30%] 473s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 30%] 473s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 30%] 473s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 30%] 473s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 30%] 473s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 30%] 473s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 30%] 473s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 473s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 473s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 473s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 473s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 473s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 473s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 473s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 473s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 473s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 473s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 473s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 473s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 473s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 473s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 473s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 473s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 473s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 473s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 473s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 473s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 473s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 31%] 473s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 31%] 473s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 31%] 473s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 31%] 474s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 31%] 474s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 31%] 474s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 31%] 474s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 31%] 474s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 31%] 474s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 31%] 474s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 31%] 474s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 31%] 474s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 31%] 474s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 474s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_long PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 32%] 474s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_numbers PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_options PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_printf PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 32%] 474s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 474s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 474s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 33%] 474s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_functions PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_emails PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_urls PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_credits PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_gconf PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_validxml PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 33%] 474s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 474s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 474s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 474s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 474s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 474s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 474s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 474s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 474s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 474s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 474s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 474s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 474s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 474s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 474s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 474s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 474s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 474s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 474s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 474s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 34%] 474s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 34%] 474s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 34%] 474s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 34%] 475s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 34%] 475s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 34%] 475s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 34%] 475s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 34%] 475s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 34%] 475s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 34%] 475s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 34%] 475s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 34%] 475s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 34%] 475s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 34%] 475s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 34%] 475s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 35%] 475s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 475s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 475s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 475s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 475s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 475s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 475s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 475s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 475s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 475s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 475s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 475s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 475s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 475s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 475s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 475s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 475s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 475s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 475s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 475s tests/translate/lang/test_common.py::test_alter_length PASSED [ 36%] 475s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 36%] 475s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 36%] 475s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 36%] 475s tests/translate/lang/test_el.py::test_sentences PASSED [ 36%] 475s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 36%] 475s tests/translate/lang/test_es.py::test_sentences PASSED [ 36%] 475s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 36%] 475s tests/translate/lang/test_fa.py::test_sentences PASSED [ 36%] 475s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 36%] 475s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 36%] 475s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 36%] 475s tests/translate/lang/test_fr.py::test_sentences PASSED [ 36%] 475s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 36%] 475s tests/translate/lang/test_hy.py::test_sentences PASSED [ 36%] 475s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 475s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 475s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 475s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 475s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 475s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 475s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 475s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 475s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 475s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 475s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 475s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 475s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 475s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 475s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 475s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 475s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 475s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 475s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 475s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 37%] 475s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 37%] 475s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 37%] 475s tests/translate/lang/test_team.py::test_simple PASSED [ 37%] 475s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 37%] 475s tests/translate/lang/test_th.py::test_sentences PASSED [ 37%] 475s tests/translate/lang/test_tr.py::test_sentences PASSED [ 37%] 475s tests/translate/lang/test_uk.py::test_sentences PASSED [ 37%] 475s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 37%] 475s tests/translate/lang/test_vi.py::test_sentences PASSED [ 37%] 475s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 37%] 475s tests/translate/lang/test_zh.py::test_sentences PASSED [ 37%] 475s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 37%] 475s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 37%] 475s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 37%] 475s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 475s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 38%] 475s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 475s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 475s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 475s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 475s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 475s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 475s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 475s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 475s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 475s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 475s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 475s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 475s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 475s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 475s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 475s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 475s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 475s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 38%] 475s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 38%] 475s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 38%] 475s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 38%] 475s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 38%] 475s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 38%] 475s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 38%] 475s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 38%] 475s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 38%] 475s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 38%] 475s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 38%] 475s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 38%] 475s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 38%] 475s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 38%] 475s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 38%] 475s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 475s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 475s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 475s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 475s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 475s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 475s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 475s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 475s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 475s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 476s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 39%] 476s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 476s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 476s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 476s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 476s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 476s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 476s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 476s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 476s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 476s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 476s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 476s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 476s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 476s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 476s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 476s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 476s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 476s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 476s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 40%] 476s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 40%] 476s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 40%] 476s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 40%] 476s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 40%] 476s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 40%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 42%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 476s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 44%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 477s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 477s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 45%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 45%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 45%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 45%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 45%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 45%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 477s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 477s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding_save PASSED [ 47%] 477s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 477s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 477s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 477s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 477s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 477s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 47%] 477s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 48%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 477s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 477s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 477s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 477s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 477s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 477s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 477s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 477s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 477s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 477s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 477s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 477s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 477s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 477s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 477s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 477s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 477s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 477s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 477s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 477s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 477s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 477s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_comments PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 54%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 56%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 57%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_invalid_nesting PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 58%] 478s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_invalid PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 58%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 478s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 478s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 478s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 478s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 59%] 478s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 59%] 478s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 59%] 478s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 59%] 478s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 59%] 478s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 478s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 60%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 478s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[\u015e\u0167\u0159\u012b\u019e\u0260 {ok}-\u015e\u0167\u0159\u012b\u019e\u0260] PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 61%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 478s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 62%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 478s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 478s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 478s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 478s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 478s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 478s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 478s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 478s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 478s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 478s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 478s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 63%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 478s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 64%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 64%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 64%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 64%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 64%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 64%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 64%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 65%] 479s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 479s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 479s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 479s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 479s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 479s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 479s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 479s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 479s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 479s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 479s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 479s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 479s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 479s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 479s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 479s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 479s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 479s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 479s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 479s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 479s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 479s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 479s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 479s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 479s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 479s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 479s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 479s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 479s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 66%] 479s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 66%] 479s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 66%] 479s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 66%] 479s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 66%] 479s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 66%] 479s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 479s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 480s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 67%] 480s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 67%] 480s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 67%] 480s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 67%] 480s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 67%] 480s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 67%] 480s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 68%] 480s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 480s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 480s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 480s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 480s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 480s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 480s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 480s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 480s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 480s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 480s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 480s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 480s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 69%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 69%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 69%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 69%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 69%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 69%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 69%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 480s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 482s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 70%] 482s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 70%] 482s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 70%] 482s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 70%] 482s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 70%] 482s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 70%] 482s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 482s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 482s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 482s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 482s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 482s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 482s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 482s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 482s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 482s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 71%] 482s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 72%] 482s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 73%] 482s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 74%] 482s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 482s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 482s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 482s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 482s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 482s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 482s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 482s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 482s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 482s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 482s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 482s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 482s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 482s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 482s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 482s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 75%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 75%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 75%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 75%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 75%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 75%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 75%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 75%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 76%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 482s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 77%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 77%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 77%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 77%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 77%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 77%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 77%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 78%] 483s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 78%] 483s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 78%] 483s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 78%] 483s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 78%] 483s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 483s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 483s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 483s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 483s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 483s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 483s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 483s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 483s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 483s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 483s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 483s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 483s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 483s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 483s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 483s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 483s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 483s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 483s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 483s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 483s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 483s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 483s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 483s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 483s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 483s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 483s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 79%] 483s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 79%] 483s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 79%] 483s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 79%] 483s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 79%] 483s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 79%] 483s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 79%] 483s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 79%] 483s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 483s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 483s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 483s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 483s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 483s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 483s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 483s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 483s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 483s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 483s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 483s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 483s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 483s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 483s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 483s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 483s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 483s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 483s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 483s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 483s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 483s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 483s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 483s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 483s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 483s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 483s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 80%] 483s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 80%] 483s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 80%] 483s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 80%] 483s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 80%] 483s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 80%] 483s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 80%] 483s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 80%] 483s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 483s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 483s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 483s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 483s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 483s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 483s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 483s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 483s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 483s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 483s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 483s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 483s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 483s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 483s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 483s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 483s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 483s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 483s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 483s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 483s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 483s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 484s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 484s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 484s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 484s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 81%] 484s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 81%] 484s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 81%] 484s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 81%] 484s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 81%] 484s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 81%] 484s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 81%] 484s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 81%] 484s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 81%] 484s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 484s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 484s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 484s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 484s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 484s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 484s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 484s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 484s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 484s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 484s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 484s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 484s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 484s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 484s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 484s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 484s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 82%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 82%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 82%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 82%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 82%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 82%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 82%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 82%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 484s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 484s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 484s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 484s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 83%] 484s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 83%] 484s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 83%] 484s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 83%] 484s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 83%] 484s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 83%] 484s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 83%] 484s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 83%] 484s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 83%] 484s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 83%] 484s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_ordering PASSED [ 83%] 484s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create_blank PASSED [ 83%] 484s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_add PASSED [ 83%] 484s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_remove PASSED [ 83%] 484s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_find PASSED [ 83%] 484s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_parse PASSED [ 83%] 484s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_files PASSED [ 83%] 484s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_save PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_extensions PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_mimetypes PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_translate PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_markup PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_nonascii PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_ordering PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 84%] 484s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_ordering PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_ordering PASSED [ 84%] 484s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 85%] 484s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 85%] 484s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 85%] 484s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 484s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 484s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 484s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 484s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 484s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 484s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 484s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 484s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 484s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_ordering PASSED [ 85%] 484s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 484s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 484s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 484s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 484s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 484s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 484s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 484s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 484s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 484s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 484s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 484s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 484s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 484s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 484s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 484s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 484s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 484s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 484s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 484s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 484s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 484s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 86%] 484s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 86%] 484s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 86%] 484s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 86%] 484s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 484s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 484s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 484s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 484s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 484s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 484s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 484s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 484s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 484s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 484s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 484s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 484s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 484s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 484s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 484s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 484s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 484s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 484s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 484s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 484s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 484s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 484s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 484s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 484s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 484s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 484s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 484s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 484s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 484s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 484s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 87%] 484s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 87%] 484s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 87%] 484s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 484s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 484s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 484s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 484s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 484s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 484s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 484s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 484s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 484s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 484s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 484s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 484s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 484s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 484s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 484s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 484s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 484s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 484s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 484s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 484s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 484s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 484s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 88%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 88%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 88%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 484s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 484s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 484s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 484s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 484s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 484s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 484s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 484s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 484s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 484s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 484s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 484s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 484s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 484s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 484s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 89%] 484s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 89%] 484s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 89%] 484s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 484s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 484s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 484s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 484s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 484s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 484s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 484s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 484s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 484s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 484s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 484s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 485s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 485s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 485s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 485s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 485s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 485s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 485s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 485s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 485s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 485s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 485s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 485s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 485s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 485s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 485s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 485s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 485s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 485s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 485s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 485s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 485s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 485s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 485s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 485s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 485s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 485s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 485s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 485s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 485s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 485s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 485s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 92%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 485s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 486s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 486s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 92%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 486s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 487s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 487s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 487s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 487s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 487s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 487s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 487s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 487s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 93%] 487s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 93%] 487s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 487s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 487s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 487s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 487s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 487s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 487s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 487s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 487s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 487s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 487s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 487s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 487s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_blank PASSED [ 94%] 487s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_partial PASSED [ 94%] 487s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 487s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 487s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 487s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 487s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 487s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 487s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 487s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 487s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 487s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 487s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 487s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 487s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 487s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 487s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 487s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 487s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 487s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 487s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 487s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 95%] 487s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 95%] 487s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 95%] 487s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 487s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 487s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 487s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 487s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 487s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 487s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 487s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 487s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 487s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 487s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 487s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 487s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 487s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 487s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 487s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 487s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 487s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 487s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 487s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 487s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 487s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 487s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 487s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 487s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 487s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 487s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 487s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 487s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 487s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 487s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 487s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 96%] 487s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 487s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 487s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 487s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 487s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 487s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 487s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 487s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 487s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 487s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 487s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 487s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 487s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 487s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 487s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 487s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 487s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 487s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 487s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 487s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 487s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 487s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 487s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 488s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 488s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 488s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 488s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 488s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 488s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 488s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 488s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 488s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 488s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 488s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 488s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 488s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 488s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 488s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 488s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 488s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 488s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 488s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 488s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 488s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 488s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 488s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 488s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 488s 488s =============================== warnings summary =============================== 488s tests/translate/storage/test_cpo.py:15 488s Warning: 488s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 488s ImportError('gettext PO library not found') 488s In pytest 9.1 this warning will become an error by default. 488s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 488s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 488s 488s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 488s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.F5USWy/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 488s Enable tracemalloc to get traceback where the object was allocated. 488s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 488s 488s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 488s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 488s Enable tracemalloc to get traceback where the object was allocated. 488s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 488s 488s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 488s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 488s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 488s Enable tracemalloc to get traceback where the object was allocated. 488s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 488s 488s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 488s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 488s Enable tracemalloc to get traceback where the object was allocated. 488s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 488s 488s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 488s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 488s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 488s Enable tracemalloc to get traceback where the object was allocated. 488s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 488s 488s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 488s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 488s Enable tracemalloc to get traceback where the object was allocated. 488s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 488s 488s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 488s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 488s Enable tracemalloc to get traceback where the object was allocated. 488s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 488s 488s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 488s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 488s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 488s Enable tracemalloc to get traceback where the object was allocated. 488s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 488s 488s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 488s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 488s Enable tracemalloc to get traceback where the object was allocated. 488s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 488s 488s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 488s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 488s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 488s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 488s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 488s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 488s Warning: Could not find accesskey for key.accesskey 488s 488s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 488s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 488s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 488s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 488s Enable tracemalloc to get traceback where the object was allocated. 488s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 488s 488s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 488s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 488s Enable tracemalloc to get traceback where the object was allocated. 488s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 488s 488s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 488s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.F5USWy/autopkgtest_tmp/tests/translate/convert/test.idml'> 488s Enable tracemalloc to get traceback where the object was allocated. 488s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 488s 488s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 488s Warning: unclosed file <_io.BufferedReader name='translation.po'> 488s Enable tracemalloc to get traceback where the object was allocated. 488s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 488s 488s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 488s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 488s Enable tracemalloc to get traceback where the object was allocated. 488s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 488s 488s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 488s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 488s Enable tracemalloc to get traceback where the object was allocated. 488s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 488s 488s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 488s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 488s Warning: Could not find accesskey for prop.accesskey 488s 488s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 488s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 488s Enable tracemalloc to get traceback where the object was allocated. 488s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 488s 488s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 488s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 488s Enable tracemalloc to get traceback where the object was allocated. 488s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 488s 488s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 488s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 488s Enable tracemalloc to get traceback where the object was allocated. 489s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 489s 489s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 489s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 489s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 489s Enable tracemalloc to get traceback where the object was allocated. 489s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 489s 489s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 489s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 489s Enable tracemalloc to get traceback where the object was allocated. 489s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 489s 489s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 489s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 489s Enable tracemalloc to get traceback where the object was allocated. 489s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 489s 489s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 489s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 489s Enable tracemalloc to get traceback where the object was allocated. 489s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 489s 489s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 489s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 489s Enable tracemalloc to get traceback where the object was allocated. 489s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 489s 489s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 489s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 489s Enable tracemalloc to get traceback where the object was allocated. 489s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 489s 489s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 489s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.F5USWy/autopkgtest_tmp/tests/translate/convert/test.odt'> 489s Enable tracemalloc to get traceback where the object was allocated. 489s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 489s 489s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 489s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 489s Enable tracemalloc to get traceback where the object was allocated. 489s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 489s 489s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 489s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 489s Enable tracemalloc to get traceback where the object was allocated. 489s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 489s 489s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 489s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 489s Enable tracemalloc to get traceback where the object was allocated. 489s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 489s 489s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 489s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 489s Enable tracemalloc to get traceback where the object was allocated. 489s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 489s 489s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 489s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 489s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 489s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 489s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 489s 489s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 489s Warning: DTD parse error: :1:35:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 489s 489s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 489s Warning: DTD file '' does not validate 489s 489s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 489s --------------------------- snapshot report summary ---------------------------- 489s 23 snapshots passed. 489s =========================== short test summary info ============================ 489s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 489s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 489s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 489s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 489s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 489s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 489s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 489s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 489s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 489s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 489s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 489s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 489s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 489s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 489s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 489s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 489s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 489s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 489s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 489s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 489s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 489s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 489s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 489s 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. 489s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 489s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 489s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 489s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 489s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 489s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 489s 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 489s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 489s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 489s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 489s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 489s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 489s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 489s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 489s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 489s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 489s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 489s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 489s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 489s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 489s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 489s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 489s ========== 3324 passed, 22 skipped, 39 xfailed, 50 warnings in 32.48s ========== 490s autopkgtest [06:24:43]: test python3-translate: -----------------------] 491s autopkgtest [06:24:44]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 491s python3-translate PASS 492s autopkgtest [06:24:45]: test python3-translate-commands: preparing testbed 512s Creating nova instance adt-resolute-arm64-translate-toolkit-20251028-061633-juju-7f2275-prod-proposed-migration-environment-15-dab30b12-121a-4ebd-97df-7f0de56a3d66 from image adt/ubuntu-resolute-arm64-server-20251027.img (UUID 0c8717a7-1983-4858-8ad5-6d56cfcb3438)... 606s autopkgtest [06:26:39]: testbed dpkg architecture: arm64 606s autopkgtest [06:26:39]: testbed apt version: 3.1.8ubuntu1 607s autopkgtest [06:26:40]: @@@@@@@@@@@@@@@@@@@@ test bed setup 607s autopkgtest [06:26:40]: testbed release detected to be: resolute 608s autopkgtest [06:26:41]: updating testbed package index (apt update) 608s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 608s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 608s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 608s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 609s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [216 kB] 609s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [3342 kB] 610s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [61.7 kB] 610s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5856 B] 610s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 Packages [252 kB] 610s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 c-n-f Metadata [2440 B] 610s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 Packages [44.3 kB] 610s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/restricted arm64 c-n-f Metadata [324 B] 610s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 Packages [839 kB] 610s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/universe arm64 c-n-f Metadata [7312 B] 610s Get:15 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 Packages [6752 B] 610s Get:16 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse arm64 c-n-f Metadata [376 B] 611s Fetched 4865 kB in 2s (2388 kB/s) 612s Reading package lists... 613s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 613s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 613s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 613s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 614s Reading package lists... 614s Reading package lists... 614s Building dependency tree... 614s Reading state information... 614s Calculating upgrade... 615s The following NEW packages will be installed: 615s util-linux-extra 615s The following packages will be upgraded: 615s bsdextrautils bsdutils fdisk libblkid1 libfdisk1 liblastlog2-2 libmount1 615s libsmartcols1 libuuid1 login mount python3-cffi-backend util-linux 615s uuid-runtime 615s 14 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. 615s Need to get 2847 kB of archives. 615s After this operation, 1738 kB of additional disk space will be used. 615s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 fdisk arm64 2.41.2-4ubuntu1 [149 kB] 615s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 libblkid1 arm64 2.41.2-4ubuntu1 [139 kB] 615s Get:3 http://ftpmaster.internal/ubuntu resolute/main arm64 libmount1 arm64 2.41.2-4ubuntu1 [173 kB] 615s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 libsmartcols1 arm64 2.41.2-4ubuntu1 [96.2 kB] 615s Get:5 http://ftpmaster.internal/ubuntu resolute/main arm64 mount arm64 2.41.2-4ubuntu1 [145 kB] 615s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 uuid-runtime arm64 2.41.2-4ubuntu1 [56.9 kB] 615s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 libuuid1 arm64 2.41.2-4ubuntu1 [45.3 kB] 615s Get:8 http://ftpmaster.internal/ubuntu resolute/main arm64 libfdisk1 arm64 2.41.2-4ubuntu1 [173 kB] 615s Get:9 http://ftpmaster.internal/ubuntu resolute/main arm64 bsdutils arm64 1:2.41.2-4ubuntu1 [93.0 kB] 615s Get:10 http://ftpmaster.internal/ubuntu resolute/main arm64 util-linux arm64 2.41.2-4ubuntu1 [1082 kB] 616s Get:11 http://ftpmaster.internal/ubuntu resolute/main arm64 bsdextrautils arm64 2.41.2-4ubuntu1 [94.1 kB] 616s Get:12 http://ftpmaster.internal/ubuntu resolute/main arm64 login arm64 1:4.16.0-2+really2.41.2-4ubuntu1 [94.9 kB] 616s Get:13 http://ftpmaster.internal/ubuntu resolute/main arm64 liblastlog2-2 arm64 2.41.2-4ubuntu1 [35.7 kB] 616s Get:14 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-cffi-backend arm64 2.0.0-2 [110 kB] 616s Get:15 http://ftpmaster.internal/ubuntu resolute/universe arm64 util-linux-extra arm64 2.41.2-4ubuntu1 [361 kB] 616s dpkg-preconfigure: unable to re-open stdin: No such file or directory 616s Fetched 2847 kB in 1s (2490 kB/s) 617s (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 ... 83387 files and directories currently installed.) 617s Preparing to unpack .../fdisk_2.41.2-4ubuntu1_arm64.deb ... 617s Unpacking fdisk (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 617s Preparing to unpack .../libblkid1_2.41.2-4ubuntu1_arm64.deb ... 617s Unpacking libblkid1:arm64 (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 617s Setting up libblkid1:arm64 (2.41.2-4ubuntu1) ... 617s (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 ... 83387 files and directories currently installed.) 617s Preparing to unpack .../libmount1_2.41.2-4ubuntu1_arm64.deb ... 617s Unpacking libmount1:arm64 (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 617s Setting up libmount1:arm64 (2.41.2-4ubuntu1) ... 617s (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 ... 83387 files and directories currently installed.) 617s Preparing to unpack .../libsmartcols1_2.41.2-4ubuntu1_arm64.deb ... 617s Unpacking libsmartcols1:arm64 (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 617s Setting up libsmartcols1:arm64 (2.41.2-4ubuntu1) ... 617s (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 ... 83387 files and directories currently installed.) 617s Preparing to unpack .../mount_2.41.2-4ubuntu1_arm64.deb ... 617s Unpacking mount (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 617s Preparing to unpack .../uuid-runtime_2.41.2-4ubuntu1_arm64.deb ... 617s Unpacking uuid-runtime (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 618s Preparing to unpack .../libuuid1_2.41.2-4ubuntu1_arm64.deb ... 618s Unpacking libuuid1:arm64 (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 618s Setting up libuuid1:arm64 (2.41.2-4ubuntu1) ... 618s (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 ... 83387 files and directories currently installed.) 618s Preparing to unpack .../libfdisk1_2.41.2-4ubuntu1_arm64.deb ... 618s Unpacking libfdisk1:arm64 (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 618s Preparing to unpack .../bsdutils_1%3a2.41.2-4ubuntu1_arm64.deb ... 618s Unpacking bsdutils (1:2.41.2-4ubuntu1) over (1:2.41-4ubuntu4) ... 618s Setting up bsdutils (1:2.41.2-4ubuntu1) ... 618s (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 ... 83384 files and directories currently installed.) 618s Preparing to unpack .../util-linux_2.41.2-4ubuntu1_arm64.deb ... 618s Unpacking util-linux (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 618s Setting up util-linux (2.41.2-4ubuntu1) ... 619s fstrim.service is a disabled or a static unit not running, not starting it. 619s (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 ... 83355 files and directories currently installed.) 619s Preparing to unpack .../bsdextrautils_2.41.2-4ubuntu1_arm64.deb ... 619s Unpacking bsdextrautils (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 619s Preparing to unpack .../login_1%3a4.16.0-2+really2.41.2-4ubuntu1_arm64.deb ... 619s Unpacking login (1:4.16.0-2+really2.41.2-4ubuntu1) over (1:4.16.0-2+really2.41-4ubuntu4) ... 619s Preparing to unpack .../liblastlog2-2_2.41.2-4ubuntu1_arm64.deb ... 619s Unpacking liblastlog2-2:arm64 (2.41.2-4ubuntu1) over (2.41-4ubuntu4) ... 619s Setting up liblastlog2-2:arm64 (2.41.2-4ubuntu1) ... 619s (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 ... 83350 files and directories currently installed.) 619s Preparing to unpack .../python3-cffi-backend_2.0.0-2_arm64.deb ... 619s Unpacking python3-cffi-backend:arm64 (2.0.0-2) over (1.17.1-3build1) ... 620s Selecting previously unselected package util-linux-extra. 620s Preparing to unpack .../util-linux-extra_2.41.2-4ubuntu1_arm64.deb ... 620s Unpacking util-linux-extra (2.41.2-4ubuntu1) ... 620s Setting up bsdextrautils (2.41.2-4ubuntu1) ... 620s Setting up libfdisk1:arm64 (2.41.2-4ubuntu1) ... 620s Setting up mount (2.41.2-4ubuntu1) ... 620s Setting up uuid-runtime (2.41.2-4ubuntu1) ... 620s uuidd.service is a disabled or a static unit not running, not starting it. 621s Setting up util-linux-extra (2.41.2-4ubuntu1) ... 621s Setting up python3-cffi-backend:arm64 (2.0.0-2) ... 621s Setting up login (1:4.16.0-2+really2.41.2-4ubuntu1) ... 621s Setting up fdisk (2.41.2-4ubuntu1) ... 621s Processing triggers for man-db (2.13.1-1) ... 622s Processing triggers for libc-bin (2.42-0ubuntu3) ... 622s autopkgtest [06:26:55]: upgrading testbed (apt dist-upgrade and autopurge) 622s Reading package lists... 623s Building dependency tree... 623s Reading state information... 623s Calculating upgrade... 623s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 624s Reading package lists... 624s Building dependency tree... 624s Reading state information... 624s Solving dependencies... 624s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 625s autopkgtest [06:26:58]: rebooting testbed after setup commands that affected boot 654s Reading package lists... 654s Building dependency tree... 654s Reading state information... 654s Solving dependencies... 655s The following NEW packages will be installed: 655s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 655s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 655s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 655s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 655s python3-cheroot python3-cwcwidth python3-dateutil python3-diff-match-patch 655s python3-enchant python3-iniconfig python3-iniparse python3-levenshtein 655s python3-lxml python3-mistletoe python3-packaging python3-phply 655s python3-pluggy python3-ply python3-pycountry python3-pytest python3-pytz 655s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 655s python3-soupsieve python3-syrupy python3-translate python3-vobject 655s python3-wcwidth python3-xapian subversion translate-toolkit 655s 0 upgraded, 48 newly installed, 0 to remove and 0 not upgraded. 655s Need to get 12.6 MB of archives. 655s After this operation, 64.8 MB of additional disk space will be used. 655s Get:1 http://ftpmaster.internal/ubuntu resolute/main arm64 emacsen-common all 3.0.8 [13.9 kB] 655s Get:2 http://ftpmaster.internal/ubuntu resolute/main arm64 dictionaries-common all 1.30.10 [178 kB] 655s Get:3 http://ftpmaster.internal/ubuntu resolute/main arm64 libgomp1 arm64 15.2.0-5ubuntu1 [148 kB] 655s Get:4 http://ftpmaster.internal/ubuntu resolute/main arm64 gettext arm64 0.23.1-2build2 [1026 kB] 655s Get:5 http://ftpmaster.internal/ubuntu resolute/main arm64 hunspell-en-us all 1:2020.12.07-4 [585 kB] 656s Get:6 http://ftpmaster.internal/ubuntu resolute/main arm64 libapr1t64 arm64 1.7.5-1 [106 kB] 656s Get:7 http://ftpmaster.internal/ubuntu resolute/main arm64 libaprutil1t64 arm64 1.6.3-3ubuntu2 [95.1 kB] 656s Get:8 http://ftpmaster.internal/ubuntu resolute/main arm64 libaspell15 arm64 0.60.8.1-4 [319 kB] 656s Get:9 http://ftpmaster.internal/ubuntu resolute/main arm64 libhunspell-1.7-0 arm64 1.7.2+really1.7.2-10build3 [274 kB] 656s Get:10 http://ftpmaster.internal/ubuntu resolute/main arm64 libenchant-2-2 arm64 2.8.2+dfsg1-3 [57.8 kB] 656s Get:11 http://ftpmaster.internal/ubuntu resolute/main arm64 libexttextcat-data all 3.4.7-1ubuntu1 [193 kB] 656s Get:12 http://ftpmaster.internal/ubuntu resolute/universe arm64 libserf-1-1 arm64 1.3.10-3ubuntu1 [48.7 kB] 656s Get:13 http://ftpmaster.internal/ubuntu resolute/universe arm64 libutf8proc3 arm64 2.10.0-2 [71.3 kB] 656s Get:14 http://ftpmaster.internal/ubuntu resolute/universe arm64 libsvn1 arm64 1.14.5-4 [1423 kB] 656s Get:15 http://ftpmaster.internal/ubuntu resolute/universe arm64 libxapian30 arm64 1.4.29-3 [684 kB] 656s Get:16 http://ftpmaster.internal/ubuntu resolute/main arm64 libxslt1.1 arm64 1.1.43-0.3 [172 kB] 656s Get:17 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-aeidon all 1.15-2 [231 kB] 656s Get:18 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-all arm64 3.13.7-1 [884 B] 656s Get:19 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-soupsieve all 2.7-2 [33.6 kB] 656s Get:20 http://ftpmaster.internal/ubuntu resolute-proposed/main arm64 python3-bs4 all 4.14.2-1 [82.8 kB] 656s Get:21 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-charset-normalizer arm64 3.4.2-1 [125 kB] 656s Get:22 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-cheroot all 10.0.1+ds1-4 [78.6 kB] 656s Get:23 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-cwcwidth arm64 0.1.10-1build2 [27.0 kB] 656s Get:24 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-dateutil all 2.9.0-4 [80.3 kB] 656s Get:25 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-diff-match-patch all 20241021-1 [33.6 kB] 656s Get:26 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-enchant all 3.3.0~rc1-1 [35.1 kB] 656s Get:27 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 656s Get:28 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-rapidfuzz arm64 3.12.2+ds-1build1 [1368 kB] 656s Get:29 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-levenshtein arm64 0.27.1-2build1 [132 kB] 656s Get:30 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-lxml arm64 6.0.1-1build1 [2149 kB] 656s Get:31 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-mistletoe all 1.4.0-1 [38.2 kB] 656s Get:32 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-packaging all 25.0-1 [52.8 kB] 656s Get:33 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-ply all 3.11-9 [45.8 kB] 656s Get:34 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-phply all 1.2.6-1 [50.5 kB] 656s Get:35 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-pluggy all 1.6.0-1 [21.0 kB] 656s Get:36 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-pytest all 8.3.5-2 [252 kB] 656s Get:37 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-pytz all 2025.2-4 [32.3 kB] 656s Get:38 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-ruamel.yaml.clib arm64 0.2.12+ds-1build1 [138 kB] 656s Get:39 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 656s Get:40 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-syrupy all 5.0.0-1 [47.9 kB] 657s Get:41 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-translate all 3.15.1-1 [319 kB] 657s Get:42 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-vobject all 0.9.9+dfsg-1 [41.5 kB] 657s Get:43 http://ftpmaster.internal/ubuntu resolute/main arm64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 657s Get:44 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-xapian arm64 1.4.29-1build1 [561 kB] 657s Get:45 http://ftpmaster.internal/ubuntu resolute/universe arm64 subversion arm64 1.14.5-4 [904 kB] 657s Get:46 http://ftpmaster.internal/ubuntu resolute/universe arm64 translate-toolkit all 3.15.1-1 [81.0 kB] 657s Get:47 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-iniparse all 0.5.1-1 [21.2 kB] 657s Get:48 http://ftpmaster.internal/ubuntu resolute/universe arm64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 657s Preconfiguring packages ... 657s Fetched 12.6 MB in 2s (7028 kB/s) 657s Selecting previously unselected package emacsen-common. 657s (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 ... 83455 files and directories currently installed.) 657s Preparing to unpack .../00-emacsen-common_3.0.8_all.deb ... 657s Unpacking emacsen-common (3.0.8) ... 657s Selecting previously unselected package dictionaries-common. 657s Preparing to unpack .../01-dictionaries-common_1.30.10_all.deb ... 657s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 657s Unpacking dictionaries-common (1.30.10) ... 657s Selecting previously unselected package libgomp1:arm64. 657s Preparing to unpack .../02-libgomp1_15.2.0-5ubuntu1_arm64.deb ... 657s Unpacking libgomp1:arm64 (15.2.0-5ubuntu1) ... 658s Selecting previously unselected package gettext. 658s Preparing to unpack .../03-gettext_0.23.1-2build2_arm64.deb ... 658s Unpacking gettext (0.23.1-2build2) ... 658s Selecting previously unselected package hunspell-en-us. 658s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-4_all.deb ... 658s Unpacking hunspell-en-us (1:2020.12.07-4) ... 658s Selecting previously unselected package libapr1t64:arm64. 658s Preparing to unpack .../05-libapr1t64_1.7.5-1_arm64.deb ... 658s Unpacking libapr1t64:arm64 (1.7.5-1) ... 658s Selecting previously unselected package libaprutil1t64:arm64. 658s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu2_arm64.deb ... 658s Unpacking libaprutil1t64:arm64 (1.6.3-3ubuntu2) ... 658s Selecting previously unselected package libaspell15:arm64. 658s Preparing to unpack .../07-libaspell15_0.60.8.1-4_arm64.deb ... 658s Unpacking libaspell15:arm64 (0.60.8.1-4) ... 658s Selecting previously unselected package libhunspell-1.7-0:arm64. 658s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_arm64.deb ... 658s Unpacking libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 658s Selecting previously unselected package libenchant-2-2:arm64. 658s Preparing to unpack .../09-libenchant-2-2_2.8.2+dfsg1-3_arm64.deb ... 658s Unpacking libenchant-2-2:arm64 (2.8.2+dfsg1-3) ... 658s Selecting previously unselected package libexttextcat-data. 658s Preparing to unpack .../10-libexttextcat-data_3.4.7-1ubuntu1_all.deb ... 658s Unpacking libexttextcat-data (3.4.7-1ubuntu1) ... 658s Selecting previously unselected package libserf-1-1:arm64. 658s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_arm64.deb ... 658s Unpacking libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 658s Selecting previously unselected package libutf8proc3:arm64. 658s Preparing to unpack .../12-libutf8proc3_2.10.0-2_arm64.deb ... 658s Unpacking libutf8proc3:arm64 (2.10.0-2) ... 658s Selecting previously unselected package libsvn1:arm64. 658s Preparing to unpack .../13-libsvn1_1.14.5-4_arm64.deb ... 658s Unpacking libsvn1:arm64 (1.14.5-4) ... 658s Selecting previously unselected package libxapian30:arm64. 658s Preparing to unpack .../14-libxapian30_1.4.29-3_arm64.deb ... 658s Unpacking libxapian30:arm64 (1.4.29-3) ... 658s Selecting previously unselected package libxslt1.1:arm64. 658s Preparing to unpack .../15-libxslt1.1_1.1.43-0.3_arm64.deb ... 658s Unpacking libxslt1.1:arm64 (1.1.43-0.3) ... 658s Selecting previously unselected package python3-aeidon. 658s Preparing to unpack .../16-python3-aeidon_1.15-2_all.deb ... 658s Unpacking python3-aeidon (1.15-2) ... 658s Selecting previously unselected package python3-all. 658s Preparing to unpack .../17-python3-all_3.13.7-1_arm64.deb ... 658s Unpacking python3-all (3.13.7-1) ... 658s Selecting previously unselected package python3-soupsieve. 658s Preparing to unpack .../18-python3-soupsieve_2.7-2_all.deb ... 658s Unpacking python3-soupsieve (2.7-2) ... 658s Selecting previously unselected package python3-bs4. 658s Preparing to unpack .../19-python3-bs4_4.14.2-1_all.deb ... 658s Unpacking python3-bs4 (4.14.2-1) ... 658s Selecting previously unselected package python3-charset-normalizer. 658s Preparing to unpack .../20-python3-charset-normalizer_3.4.2-1_arm64.deb ... 658s Unpacking python3-charset-normalizer (3.4.2-1) ... 658s Selecting previously unselected package python3-cheroot. 658s Preparing to unpack .../21-python3-cheroot_10.0.1+ds1-4_all.deb ... 658s Unpacking python3-cheroot (10.0.1+ds1-4) ... 658s Selecting previously unselected package python3-cwcwidth. 658s Preparing to unpack .../22-python3-cwcwidth_0.1.10-1build2_arm64.deb ... 658s Unpacking python3-cwcwidth (0.1.10-1build2) ... 658s Selecting previously unselected package python3-dateutil. 658s Preparing to unpack .../23-python3-dateutil_2.9.0-4_all.deb ... 658s Unpacking python3-dateutil (2.9.0-4) ... 658s Selecting previously unselected package python3-diff-match-patch. 658s Preparing to unpack .../24-python3-diff-match-patch_20241021-1_all.deb ... 658s Unpacking python3-diff-match-patch (20241021-1) ... 658s Selecting previously unselected package python3-enchant. 658s Preparing to unpack .../25-python3-enchant_3.3.0~rc1-1_all.deb ... 658s Unpacking python3-enchant (3.3.0~rc1-1) ... 658s Selecting previously unselected package python3-iniconfig. 658s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 658s Unpacking python3-iniconfig (1.1.1-2) ... 658s Selecting previously unselected package python3-rapidfuzz. 658s Preparing to unpack .../27-python3-rapidfuzz_3.12.2+ds-1build1_arm64.deb ... 658s Unpacking python3-rapidfuzz (3.12.2+ds-1build1) ... 659s Selecting previously unselected package python3-levenshtein. 659s Preparing to unpack .../28-python3-levenshtein_0.27.1-2build1_arm64.deb ... 659s Unpacking python3-levenshtein (0.27.1-2build1) ... 659s Selecting previously unselected package python3-lxml:arm64. 659s Preparing to unpack .../29-python3-lxml_6.0.1-1build1_arm64.deb ... 659s Unpacking python3-lxml:arm64 (6.0.1-1build1) ... 659s Selecting previously unselected package python3-mistletoe. 659s Preparing to unpack .../30-python3-mistletoe_1.4.0-1_all.deb ... 659s Unpacking python3-mistletoe (1.4.0-1) ... 659s Selecting previously unselected package python3-packaging. 659s Preparing to unpack .../31-python3-packaging_25.0-1_all.deb ... 659s Unpacking python3-packaging (25.0-1) ... 659s Selecting previously unselected package python3-ply. 659s Preparing to unpack .../32-python3-ply_3.11-9_all.deb ... 659s Unpacking python3-ply (3.11-9) ... 659s Selecting previously unselected package python3-phply. 659s Preparing to unpack .../33-python3-phply_1.2.6-1_all.deb ... 659s Unpacking python3-phply (1.2.6-1) ... 659s Selecting previously unselected package python3-pluggy. 659s Preparing to unpack .../34-python3-pluggy_1.6.0-1_all.deb ... 659s Unpacking python3-pluggy (1.6.0-1) ... 659s Selecting previously unselected package python3-pytest. 659s Preparing to unpack .../35-python3-pytest_8.3.5-2_all.deb ... 659s Unpacking python3-pytest (8.3.5-2) ... 659s Selecting previously unselected package python3-pytz. 659s Preparing to unpack .../36-python3-pytz_2025.2-4_all.deb ... 659s Unpacking python3-pytz (2025.2-4) ... 659s Selecting previously unselected package python3-ruamel.yaml.clib. 659s Preparing to unpack .../37-python3-ruamel.yaml.clib_0.2.12+ds-1build1_arm64.deb ... 659s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 659s Selecting previously unselected package python3-ruamel.yaml. 659s Preparing to unpack .../38-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 659s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 659s Selecting previously unselected package python3-syrupy. 659s Preparing to unpack .../39-python3-syrupy_5.0.0-1_all.deb ... 659s Unpacking python3-syrupy (5.0.0-1) ... 659s Selecting previously unselected package python3-translate. 659s Preparing to unpack .../40-python3-translate_3.15.1-1_all.deb ... 659s Unpacking python3-translate (3.15.1-1) ... 659s Selecting previously unselected package python3-vobject. 659s Preparing to unpack .../41-python3-vobject_0.9.9+dfsg-1_all.deb ... 659s Unpacking python3-vobject (0.9.9+dfsg-1) ... 659s Selecting previously unselected package python3-wcwidth. 659s Preparing to unpack .../42-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 659s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 659s Selecting previously unselected package python3-xapian. 659s Preparing to unpack .../43-python3-xapian_1.4.29-1build1_arm64.deb ... 659s Unpacking python3-xapian (1.4.29-1build1) ... 659s Selecting previously unselected package subversion. 659s Preparing to unpack .../44-subversion_1.14.5-4_arm64.deb ... 659s Unpacking subversion (1.14.5-4) ... 659s Selecting previously unselected package translate-toolkit. 659s Preparing to unpack .../45-translate-toolkit_3.15.1-1_all.deb ... 659s Unpacking translate-toolkit (3.15.1-1) ... 659s Selecting previously unselected package python3-iniparse. 659s Preparing to unpack .../46-python3-iniparse_0.5.1-1_all.deb ... 659s Unpacking python3-iniparse (0.5.1-1) ... 659s Selecting previously unselected package python3-pycountry. 659s Preparing to unpack .../47-python3-pycountry_24.6.1+ds1-1_all.deb ... 659s Unpacking python3-pycountry (24.6.1+ds1-1) ... 659s Setting up python3-iniconfig (1.1.1-2) ... 660s Setting up libxapian30:arm64 (1.4.29-3) ... 660s Setting up python3-rapidfuzz (3.12.2+ds-1build1) ... 660s Setting up python3-diff-match-patch (20241021-1) ... 660s Setting up python3-aeidon (1.15-2) ... 660s Setting up libutf8proc3:arm64 (2.10.0-2) ... 660s Setting up libaspell15:arm64 (0.60.8.1-4) ... 660s Setting up python3-charset-normalizer (3.4.2-1) ... 660s Setting up python3-ply (3.11-9) ... 660s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 660s Setting up python3-all (3.13.7-1) ... 660s Setting up python3-pytz (2025.2-4) ... 660s Setting up libgomp1:arm64 (15.2.0-5ubuntu1) ... 660s Setting up python3-packaging (25.0-1) ... 661s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 661s Setting up emacsen-common (3.0.8) ... 661s Setting up python3-cheroot (10.0.1+ds1-4) ... 661s Setting up python3-pycountry (24.6.1+ds1-1) ... 661s Setting up python3-xapian (1.4.29-1build1) ... 661s Setting up python3-cwcwidth (0.1.10-1build2) ... 661s Setting up python3-pluggy (1.6.0-1) ... 662s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 662s Setting up python3-mistletoe (1.4.0-1) ... 662s Setting up libexttextcat-data (3.4.7-1ubuntu1) ... 662s Setting up libapr1t64:arm64 (1.7.5-1) ... 662s Setting up libxslt1.1:arm64 (1.1.43-0.3) ... 662s Setting up python3-dateutil (2.9.0-4) ... 662s Setting up python3-levenshtein (0.27.1-2build1) ... 662s Setting up libhunspell-1.7-0:arm64 (1.7.2+really1.7.2-10build3) ... 662s Setting up python3-soupsieve (2.7-2) ... 662s Setting up python3-iniparse (0.5.1-1) ... 662s Setting up libaprutil1t64:arm64 (1.6.3-3ubuntu2) ... 662s Setting up python3-vobject (0.9.9+dfsg-1) ... 663s Setting up gettext (0.23.1-2build2) ... 663s Setting up python3-phply (1.2.6-1) ... 663s Setting up dictionaries-common (1.30.10) ... 663s Setting up python3-pytest (8.3.5-2) ... 663s Setting up python3-syrupy (5.0.0-1) ... 664s Setting up libserf-1-1:arm64 (1.3.10-3ubuntu1) ... 664s Setting up python3-bs4 (4.14.2-1) ... 664s Setting up python3-lxml:arm64 (6.0.1-1build1) ... 664s Setting up hunspell-en-us (1:2020.12.07-4) ... 664s Setting up libsvn1:arm64 (1.14.5-4) ... 664s Setting up libenchant-2-2:arm64 (2.8.2+dfsg1-3) ... 664s Setting up subversion (1.14.5-4) ... 664s Setting up python3-enchant (3.3.0~rc1-1) ... 664s Setting up python3-translate (3.15.1-1) ... 665s Setting up translate-toolkit (3.15.1-1) ... 665s Processing triggers for libc-bin (2.42-0ubuntu3) ... 665s Processing triggers for man-db (2.13.1-1) ... 666s Processing triggers for install-info (7.1.1-1ubuntu1) ... 666s Processing triggers for dictionaries-common (1.30.10) ... 669s autopkgtest [06:27:42]: test python3-translate-commands: [----------------------- 670s ============================= test session starts ============================== 670s platform linux -- Python 3.13.9, pytest-8.3.5, pluggy-1.6.0 -- /usr/bin/python3.13 670s cachedir: .pytest_cache 670s rootdir: /tmp/autopkgtest.F5USWy/autopkgtest_tmp 670s plugins: syrupy-5.0.0, typeguard-4.4.2 675s collecting ... collected 3383 items / 2 skipped 675s 675s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 675s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 675s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 675s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 675s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 675s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 675s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 675s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 675s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 675s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 675s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 675s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 675s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 675s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 675s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 675s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 675s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 675s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 675s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 675s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 675s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 675s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 675s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 675s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 675s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 675s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 675s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 675s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 675s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 3%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 4%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 675s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 675s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 675s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 676s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 676s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 676s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 676s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 676s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 676s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 676s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 676s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 676s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 6%] 676s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 676s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 676s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 676s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 676s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 676s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 676s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 676s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 676s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 676s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 676s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 676s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 676s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 676s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 676s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 676s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 676s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 676s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 676s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 676s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 676s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 676s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 676s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 676s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 676s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 676s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 7%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 676s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 676s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 676s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 676s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 8%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 676s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 9%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 676s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 676s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 676s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 676s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 676s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 676s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 676s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 676s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 676s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 676s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 10%] 676s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 676s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 676s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 10%] 676s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 10%] 676s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 676s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 676s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 676s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 676s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 676s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 676s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 676s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 11%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 12%] 676s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 12%] 676s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 12%] 676s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 12%] 676s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 676s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 676s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 676s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 676s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 676s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 676s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 676s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 676s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 676s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 676s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 676s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 676s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 676s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 676s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 676s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 676s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 676s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 676s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 676s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 676s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 676s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 676s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 676s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 676s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 676s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 676s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 676s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 676s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 13%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 677s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 677s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 677s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 14%] 677s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 14%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 677s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 677s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 15%] 677s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 15%] 677s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 15%] 677s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 677s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 677s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 677s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 677s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 677s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 677s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 677s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 677s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 677s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 677s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 677s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 16%] 677s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 16%] 677s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 16%] 677s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 677s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 17%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 677s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 18%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 18%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 18%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 18%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 18%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 18%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 18%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 18%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 19%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 677s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 677s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 677s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 677s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 677s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 677s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 677s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 677s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 677s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 677s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 678s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 678s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 678s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 678s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 20%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 678s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 678s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 678s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 678s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 678s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 21%] 678s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 21%] 678s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 21%] 678s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 21%] 678s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 21%] 678s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 21%] 678s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 21%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 21%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 21%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 678s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 678s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 22%] 678s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 22%] 678s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 22%] 678s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 22%] 678s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 22%] 678s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 22%] 678s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 22%] 678s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 22%] 678s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 22%] 678s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 678s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 678s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 23%] 678s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 23%] 678s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 23%] 678s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 23%] 678s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 23%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 23%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 23%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 23%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 23%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 678s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 24%] 678s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 24%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 24%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 25%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 26%] 678s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 26%] 678s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 678s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 678s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 27%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 678s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 678s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 678s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 678s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 678s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 678s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 678s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 678s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 678s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 678s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 28%] 678s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 28%] 678s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 28%] 678s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 28%] 678s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 28%] 678s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 28%] 678s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 28%] 678s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 28%] 678s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 28%] 678s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 28%] 678s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 28%] 678s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 28%] 678s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 678s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 678s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 678s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 678s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 678s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 678s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 678s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 679s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 679s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 679s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 679s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 679s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 29%] 679s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 29%] 679s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 29%] 679s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 29%] 679s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 29%] 679s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 29%] 679s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 29%] 679s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 29%] 679s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 29%] 679s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 29%] 679s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 29%] 679s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 29%] 679s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 679s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 679s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 679s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 679s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 679s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 679s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 30%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 30%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 30%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 30%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 30%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 30%] 679s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 30%] 679s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 30%] 679s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 30%] 679s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 30%] 679s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 30%] 679s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 30%] 679s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 679s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 31%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 31%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 31%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 31%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 31%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 31%] 679s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 31%] 679s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 31%] 679s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 31%] 679s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 31%] 679s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 31%] 679s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 31%] 679s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 31%] 679s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 679s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_long PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 32%] 679s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_numbers PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_options PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_printf PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 32%] 679s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 679s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 679s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 33%] 679s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_functions PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_emails PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_urls PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_credits PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_gconf PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_validxml PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 33%] 679s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 679s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 679s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 679s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 679s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 679s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 679s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 34%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 35%] 679s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 35%] 680s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 35%] 680s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 35%] 680s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 35%] 680s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 35%] 680s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 35%] 680s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 35%] 680s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 680s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 680s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 680s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 680s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 680s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 680s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 680s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 680s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 680s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 680s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 680s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 680s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 680s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 680s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 680s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 680s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 680s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 680s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 680s tests/translate/lang/test_common.py::test_alter_length PASSED [ 36%] 680s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 36%] 680s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 36%] 680s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 36%] 680s tests/translate/lang/test_el.py::test_sentences PASSED [ 36%] 680s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 36%] 680s tests/translate/lang/test_es.py::test_sentences PASSED [ 36%] 680s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 36%] 680s tests/translate/lang/test_fa.py::test_sentences PASSED [ 36%] 680s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 36%] 680s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 36%] 680s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 36%] 680s tests/translate/lang/test_fr.py::test_sentences PASSED [ 36%] 680s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 36%] 680s tests/translate/lang/test_hy.py::test_sentences PASSED [ 36%] 680s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 680s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 680s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 680s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 680s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 680s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 680s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 680s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 680s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 680s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 680s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 680s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 680s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 680s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 680s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 680s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 680s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 680s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 680s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 680s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 37%] 680s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 37%] 680s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 37%] 680s tests/translate/lang/test_team.py::test_simple PASSED [ 37%] 680s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 37%] 680s tests/translate/lang/test_th.py::test_sentences PASSED [ 37%] 680s tests/translate/lang/test_tr.py::test_sentences PASSED [ 37%] 680s tests/translate/lang/test_uk.py::test_sentences PASSED [ 37%] 680s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 37%] 680s tests/translate/lang/test_vi.py::test_sentences PASSED [ 37%] 680s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 37%] 680s tests/translate/lang/test_zh.py::test_sentences PASSED [ 37%] 680s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 37%] 680s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 37%] 680s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 37%] 680s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 680s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 38%] 680s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 680s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 680s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 680s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 680s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 680s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 680s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 680s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 680s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 680s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 680s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 680s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 680s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 680s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 680s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 38%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 38%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 38%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 38%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 38%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 38%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 38%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 38%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 38%] 680s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 38%] 680s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 38%] 680s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 38%] 680s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 38%] 680s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 38%] 680s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 38%] 680s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 680s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 680s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 680s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 680s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 680s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 680s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 680s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 680s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 680s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 680s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 680s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 680s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 680s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 680s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 680s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 680s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 680s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 680s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 39%] 680s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 39%] 680s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 39%] 680s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 39%] 680s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 39%] 680s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 39%] 681s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 39%] 681s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 39%] 681s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 39%] 681s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 39%] 681s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 39%] 681s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 39%] 681s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 39%] 681s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 39%] 681s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 39%] 681s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 39%] 681s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 681s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 681s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 681s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 681s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 681s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 681s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 681s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 681s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 681s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 681s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 681s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 681s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 681s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 681s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 681s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 681s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 681s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 681s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 40%] 681s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 40%] 681s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 40%] 681s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 40%] 681s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 40%] 681s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 42%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 44%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 681s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 681s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 681s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 681s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 681s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 681s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 681s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 681s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 681s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 681s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 681s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 45%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 45%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 45%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 45%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 45%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 45%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 681s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 681s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding_save PASSED [ 47%] 681s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 681s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 681s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 681s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 681s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 681s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 47%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 48%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 681s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 681s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 681s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 681s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 681s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 681s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 681s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 681s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 681s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 681s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 681s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 681s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 681s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 681s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 681s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 681s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 49%] 681s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 49%] 681s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 49%] 681s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 49%] 681s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 49%] 681s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 49%] 681s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 681s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 681s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 681s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 681s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 681s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 681s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 681s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 681s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 681s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 681s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 681s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 681s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 681s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 681s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 681s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 681s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 681s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 681s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 681s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 681s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 681s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 681s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 681s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 681s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 681s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 681s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 681s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 681s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 51%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 51%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 51%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 51%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 681s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_comments PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 54%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 56%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 57%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 58%] 681s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_invalid_nesting PASSED [ 58%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 58%] 681s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_invalid PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 58%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 681s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 681s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 681s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 681s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 59%] 681s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 59%] 681s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 59%] 681s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 59%] 681s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 59%] 681s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 681s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 681s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 681s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 682s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 60%] 682s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 682s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 682s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 682s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 682s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 682s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 682s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 682s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 682s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 682s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 682s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 682s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 60%] 682s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 60%] 682s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 60%] 682s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 60%] 682s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 60%] 682s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 682s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 682s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 682s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 682s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[\u015e\u0167\u0159\u012b\u019e\u0260 {ok}-\u015e\u0167\u0159\u012b\u019e\u0260] PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 61%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 682s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 682s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 682s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 682s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 682s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 682s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 682s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 62%] 682s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 62%] 682s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 62%] 682s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 62%] 682s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 62%] 682s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 62%] 682s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 682s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 682s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 682s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 682s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 682s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 682s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 682s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 682s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 682s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 682s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 682s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 682s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 682s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 682s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 682s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 682s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 682s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 682s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 682s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 63%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 64%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 65%] 682s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 682s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 682s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 682s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 682s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 682s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 682s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 682s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 66%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 67%] 682s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 68%] 682s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 682s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 682s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 682s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 682s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 682s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 682s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 682s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 682s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 682s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 682s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 682s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 682s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 69%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 682s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 683s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 70%] 683s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 70%] 683s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 70%] 683s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 70%] 683s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 70%] 683s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 70%] 683s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 683s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 683s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 683s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 683s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 683s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 683s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 683s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 683s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 683s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 71%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 72%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 73%] 683s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 73%] 684s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 73%] 684s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 73%] 684s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 73%] 684s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 74%] 684s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 684s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 684s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 684s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 684s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 684s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 684s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 684s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 684s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 684s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 684s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 684s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 684s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 684s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 75%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 76%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 77%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 78%] 684s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 78%] 684s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 78%] 684s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 78%] 684s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 78%] 684s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 684s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 684s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 684s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 684s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 684s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 684s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 684s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 684s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 684s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 684s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 684s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 684s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 684s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 684s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 684s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 79%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 79%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 79%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 79%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 79%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 79%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 79%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 79%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 684s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 684s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 80%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 80%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 80%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 80%] 684s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 80%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 80%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 80%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 80%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 684s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 81%] 684s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 684s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 684s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 684s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 684s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 684s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 82%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 82%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 82%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 82%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 82%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 82%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 82%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 82%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 684s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_ordering PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create_blank PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_add PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_remove PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_find PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_parse PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_files PASSED [ 83%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_save PASSED [ 84%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_extensions PASSED [ 84%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_mimetypes PASSED [ 84%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_translate PASSED [ 84%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_markup PASSED [ 84%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_nonascii PASSED [ 84%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_ordering PASSED [ 84%] 684s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 84%] 684s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 684s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 684s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 684s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 684s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 684s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 685s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 685s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 685s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 685s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 685s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 685s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 685s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_ordering PASSED [ 84%] 685s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 685s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 685s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 685s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 685s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 685s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 685s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 685s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 685s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 685s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 685s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 685s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 84%] 685s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_ordering PASSED [ 84%] 685s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 85%] 685s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 85%] 685s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 85%] 685s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 685s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 685s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 685s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 685s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 685s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 685s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 685s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 685s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 685s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_ordering PASSED [ 85%] 685s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 685s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 685s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 685s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 685s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 685s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 685s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 685s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 685s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 685s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 685s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 685s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 685s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 685s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 685s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 685s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 685s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 685s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 685s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 685s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 685s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 685s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 86%] 685s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 86%] 685s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 86%] 685s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 86%] 685s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 685s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 685s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 685s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 685s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 685s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 685s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 685s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 685s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 685s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 685s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 685s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 685s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 685s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 685s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 685s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 685s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 685s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 685s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 685s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 685s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 685s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 685s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 685s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 685s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 685s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 685s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 685s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 685s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 685s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 685s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 87%] 685s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 87%] 685s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 87%] 685s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 685s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 685s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 685s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 685s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 685s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 685s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 685s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 685s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 685s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 685s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 685s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 685s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 685s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 685s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 685s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 685s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 685s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 685s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 685s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 685s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 685s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 685s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 88%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 88%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 88%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 685s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 685s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 685s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 685s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 685s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 685s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 685s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 685s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 685s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 685s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 685s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 685s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 685s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 685s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 685s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 89%] 685s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 89%] 685s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 89%] 685s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 685s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 685s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 685s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 685s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 685s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 685s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 685s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 685s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 685s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 685s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 685s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 685s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 685s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 685s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 685s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 685s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 685s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 685s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 685s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 685s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 685s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 685s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 685s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 685s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 685s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 685s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 685s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 685s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 685s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 685s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 685s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 685s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 685s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 92%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 685s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 686s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 686s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 92%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 93%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_blank PASSED [ 94%] 686s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_partial PASSED [ 94%] 686s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 686s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 686s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 686s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 686s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 686s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 686s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 686s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 686s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 686s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 686s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 686s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 686s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 686s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 686s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 686s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 686s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 686s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 686s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 687s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 95%] 687s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 95%] 687s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 95%] 687s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 687s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 687s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 687s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 687s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 687s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 687s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 687s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 687s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 687s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 687s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 687s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 687s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 687s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 687s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 687s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 687s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 687s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 687s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 687s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 687s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 687s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 687s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 687s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 687s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 687s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 687s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 687s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 687s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 687s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 687s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 687s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 96%] 687s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 687s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 687s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 687s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 687s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 687s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 687s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 687s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 687s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 687s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 687s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 687s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 687s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 687s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 687s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 687s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 687s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 687s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 687s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 687s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 687s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 687s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 687s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 687s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 687s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 687s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 687s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 687s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 687s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 687s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 687s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 687s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 687s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 687s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 687s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 687s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 687s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 687s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 687s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 687s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 687s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 687s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 688s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 688s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 688s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 688s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 688s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 688s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 688s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 688s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 688s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 688s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 688s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 688s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 688s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 688s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 688s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 688s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 688s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 688s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 688s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 688s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 688s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 688s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 688s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 688s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 688s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 688s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 688s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 688s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 688s 688s =============================== warnings summary =============================== 688s tests/translate/storage/test_cpo.py:15 688s Warning: 688s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 688s ImportError('gettext PO library not found') 688s In pytest 9.1 this warning will become an error by default. 688s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 688s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 688s 688s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 688s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.F5USWy/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 688s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 688s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 688s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 688s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 688s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 688s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 688s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 688s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 688s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 688s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 688s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 688s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 688s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 688s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 688s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 688s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 688s Warning: Could not find accesskey for key.accesskey 688s 688s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 688s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 688s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 688s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 688s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 688s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.F5USWy/autopkgtest_tmp/tests/translate/convert/test.idml'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 688s Warning: unclosed file <_io.BufferedReader name='translation.po'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 688s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 688s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 688s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 688s Warning: Could not find accesskey for prop.accesskey 688s 688s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 688s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 688s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 688s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 688s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 688s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 688s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 688s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 688s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 688s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 688s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 688s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.F5USWy/autopkgtest_tmp/tests/translate/convert/test.odt'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 688s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 688s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 688s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 688s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 688s Enable tracemalloc to get traceback where the object was allocated. 688s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 688s 688s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 688s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 688s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 688s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 688s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 688s 688s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 688s Warning: DTD parse error: :1:35:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 688s 688s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 688s Warning: DTD file '' does not validate 688s 688s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 688s --------------------------- snapshot report summary ---------------------------- 688s 23 snapshots passed. 688s =========================== short test summary info ============================ 688s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 688s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 688s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 688s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 688s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 688s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 688s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 688s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 688s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 688s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 688s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 688s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 688s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 688s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 688s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 688s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 688s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 688s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 688s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 688s 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. 688s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 688s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 688s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 688s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 688s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 688s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 688s 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 688s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 688s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 688s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 688s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 688s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 688s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 688s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 688s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 688s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 688s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 688s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 688s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 688s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 688s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 688s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 688s ========== 3343 passed, 3 skipped, 39 xfailed, 50 warnings in 18.73s =========== 689s autopkgtest [06:28:02]: test python3-translate-commands: -----------------------] 690s autopkgtest [06:28:03]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 690s python3-translate-commands PASS 690s autopkgtest [06:28:03]: @@@@@@@@@@@@@@@@@@@@ summary 690s translate-toolkit PASS 690s python3-translate PASS 690s python3-translate-commands PASS