0s autopkgtest [05:51:48]: starting date and time: 2026-01-30 05:51:48+0000 0s autopkgtest [05:51:48]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [05:51:48]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.ihd5yfzz/out --timeout-copy=6000 --needs-internet=try --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:ruamel.yaml --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=ruamel.yaml/0.18.10+ds-1build1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-cpu2-ram4-disk20-s390x --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@sto01-s390x-2.secgroup --name adt-resolute-s390x-translate-toolkit-20260130-055148-juju-7f2275-prod-proposed-migration-environment-2-28bbd225-bdf6-420c-b240-09128a6e5b11 --image adt/ubuntu-resolute-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-autopkgtest-workers-s390x -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 3s Creating nova instance adt-resolute-s390x-translate-toolkit-20260130-055148-juju-7f2275-prod-proposed-migration-environment-2-28bbd225-bdf6-420c-b240-09128a6e5b11 from image adt/ubuntu-resolute-s390x-server-20260129.img (UUID 0fdc3f45-c7c7-4a2c-aa6d-edc1dbbf6141)... 87s autopkgtest [05:53:15]: testbed dpkg architecture: s390x 87s autopkgtest [05:53:15]: testbed apt version: 3.1.14 87s autopkgtest [05:53:15]: @@@@@@@@@@@@@@@@@@@@ test bed setup 87s autopkgtest [05:53:15]: testbed release detected to be: None 88s autopkgtest [05:53:16]: updating testbed package index (apt update) 88s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 88s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 88s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 88s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 88s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1600 kB] 88s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [103 kB] 88s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [2820 B] 88s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [33.0 kB] 88s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main s390x Packages [117 kB] 88s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x Packages [1102 kB] 89s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse s390x Packages [12.0 kB] 90s Fetched 3095 kB in 2s (1448 kB/s) 94s Reading package lists... 95s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 95s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 95s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 95s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 99s Reading package lists... 100s Reading package lists... 100s Building dependency tree... 100s Reading state information... 101s Calculating upgrade... 102s The following packages will be upgraded: 102s bzip2 gcc-15-base inetutils-telnet libatomic1 libbz2-1.0 libgcc-s1 102s libsgutils2-1.48 libsqlite3-0 libstdc++6 sg3-utils sg3-utils-udev telnet 102s 12 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 102s Need to get 3103 kB of archives. 102s After this operation, 3072 B of additional disk space will be used. 102s Get:1 http://ftpmaster.internal/ubuntu resolute/main s390x libatomic1 s390x 15.2.0-12ubuntu1 [9486 B] 102s Get:2 http://ftpmaster.internal/ubuntu resolute/main s390x libstdc++6 s390x 15.2.0-12ubuntu1 [907 kB] 102s Get:3 http://ftpmaster.internal/ubuntu resolute/main s390x gcc-15-base s390x 15.2.0-12ubuntu1 [59.6 kB] 103s Get:4 http://ftpmaster.internal/ubuntu resolute/main s390x libgcc-s1 s390x 15.2.0-12ubuntu1 [35.7 kB] 103s Get:5 http://ftpmaster.internal/ubuntu resolute/main s390x bzip2 s390x 1.0.8-6build2 [35.2 kB] 103s Get:6 http://ftpmaster.internal/ubuntu resolute/main s390x libbz2-1.0 s390x 1.0.8-6build2 [41.6 kB] 103s Get:7 http://ftpmaster.internal/ubuntu resolute/main s390x libsqlite3-0 s390x 3.46.1-9 [748 kB] 103s Get:8 http://ftpmaster.internal/ubuntu resolute/main s390x inetutils-telnet s390x 2:2.7-2ubuntu1 [112 kB] 103s Get:9 http://ftpmaster.internal/ubuntu resolute/main s390x telnet all 0.17+2.7-2ubuntu1 [3636 B] 103s Get:10 http://ftpmaster.internal/ubuntu resolute/main s390x libsgutils2-1.48 s390x 1.48-3ubuntu2 [120 kB] 103s Get:11 http://ftpmaster.internal/ubuntu resolute/main s390x sg3-utils s390x 1.48-3ubuntu2 [1025 kB] 103s Get:12 http://ftpmaster.internal/ubuntu resolute/main s390x sg3-utils-udev all 1.48-3ubuntu2 [6610 B] 104s dpkg-preconfigure: unable to re-open stdin: No such file or directory 104s Fetched 3103 kB in 0s (6770 kB/s) 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 ... 87720 files and directories currently installed.) 106s Preparing to unpack .../libatomic1_15.2.0-12ubuntu1_s390x.deb ... 106s Unpacking libatomic1:s390x (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 106s Preparing to unpack .../libstdc++6_15.2.0-12ubuntu1_s390x.deb ... 107s Unpacking libstdc++6:s390x (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 107s Preparing to unpack .../gcc-15-base_15.2.0-12ubuntu1_s390x.deb ... 107s Unpacking gcc-15-base:s390x (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 107s Setting up gcc-15-base:s390x (15.2.0-12ubuntu1) ... 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 ... 87720 files and directories currently installed.) 108s Preparing to unpack .../libgcc-s1_15.2.0-12ubuntu1_s390x.deb ... 108s Unpacking libgcc-s1:s390x (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 108s Setting up libgcc-s1:s390x (15.2.0-12ubuntu1) ... 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 ... 87720 files and directories currently installed.) 108s Preparing to unpack .../bzip2_1.0.8-6build2_s390x.deb ... 109s Unpacking bzip2 (1.0.8-6build2) over (1.0.8-6build1) ... 109s Preparing to unpack .../libbz2-1.0_1.0.8-6build2_s390x.deb ... 109s Unpacking libbz2-1.0:s390x (1.0.8-6build2) over (1.0.8-6build1) ... 109s Setting up libbz2-1.0:s390x (1.0.8-6build2) ... 110s (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 ... 87720 files and directories currently installed.) 110s Preparing to unpack .../0-libsqlite3-0_3.46.1-9_s390x.deb ... 110s Unpacking libsqlite3-0:s390x (3.46.1-9) over (3.46.1-8) ... 110s Preparing to unpack .../1-inetutils-telnet_2%3a2.7-2ubuntu1_s390x.deb ... 110s Unpacking inetutils-telnet (2:2.7-2ubuntu1) over (2:2.6-4ubuntu1) ... 111s Preparing to unpack .../2-telnet_0.17+2.7-2ubuntu1_all.deb ... 111s Unpacking telnet (0.17+2.7-2ubuntu1) over (0.17+2.6-4ubuntu1) ... 111s Preparing to unpack .../3-libsgutils2-1.48_1.48-3ubuntu2_s390x.deb ... 111s Unpacking libsgutils2-1.48:s390x (1.48-3ubuntu2) over (1.48-3ubuntu1) ... 111s Preparing to unpack .../4-sg3-utils_1.48-3ubuntu2_s390x.deb ... 112s Unpacking sg3-utils (1.48-3ubuntu2) over (1.48-3ubuntu1) ... 113s Preparing to unpack .../5-sg3-utils-udev_1.48-3ubuntu2_all.deb ... 113s Unpacking sg3-utils-udev (1.48-3ubuntu2) over (1.48-3ubuntu1) ... 114s Setting up libsqlite3-0:s390x (3.46.1-9) ... 114s Setting up inetutils-telnet (2:2.7-2ubuntu1) ... 114s Setting up libsgutils2-1.48:s390x (1.48-3ubuntu2) ... 114s Setting up bzip2 (1.0.8-6build2) ... 114s Setting up libatomic1:s390x (15.2.0-12ubuntu1) ... 115s Setting up libstdc++6:s390x (15.2.0-12ubuntu1) ... 115s Setting up sg3-utils (1.48-3ubuntu2) ... 115s Setting up telnet (0.17+2.7-2ubuntu1) ... 115s Setting up sg3-utils-udev (1.48-3ubuntu2) ... 116s update-initramfs: deferring update (trigger activated) 116s Processing triggers for libc-bin (2.42-2ubuntu4) ... 116s Processing triggers for man-db (2.13.1-1) ... 123s Processing triggers for initramfs-tools (0.150ubuntu7) ... 123s update-initramfs: Generating /boot/initrd.img-6.18.0-9-generic 145s Using config file '/etc/zipl.conf' 145s Building bootmap in '/boot' 145s Adding IPL section 'ubuntu' (default) 145s Preparing boot device: vda. 145s Done. 147s autopkgtest [05:54:15]: upgrading testbed (apt dist-upgrade and autopurge) 147s Reading package lists... 147s Building dependency tree... 147s Reading state information... 148s Calculating upgrade... 149s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 149s Reading package lists... 150s Building dependency tree... 150s Reading state information... 150s Solving dependencies... 151s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 151s autopkgtest [05:54:19]: rebooting testbed after setup commands that affected boot 192s autopkgtest [05:55:00]: testbed running kernel: Linux 6.18.0-9-generic #9-Ubuntu SMP Mon Jan 12 15:39:23 UTC 2026 196s autopkgtest [05:55:04]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 200s Get:1 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.18.1-1 (dsc) [3515 B] 200s Get:2 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.18.1-1 (tar) [962 kB] 200s Get:3 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.18.1-1 (diff) [22.7 kB] 201s gpgv: Signature made Sat Jan 24 03:45:51 2026 UTC 201s gpgv: using RSA key 374D8CE4DB96E9CBD4C0972A606D084E4683C079 201s gpgv: Can't check signature: No public key 201s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.18.1-1.dsc: no acceptable signature found 202s autopkgtest [05:55:10]: testing package translate-toolkit version 3.18.1-1 202s autopkgtest [05:55:10]: build not needed 204s autopkgtest [05:55:12]: test translate-toolkit: preparing testbed 204s Reading package lists... 205s Building dependency tree... 205s Reading state information... 206s Solving dependencies... 207s The following NEW packages will be installed: 207s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 207s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 207s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 207s python3-aeidon python3-bs4 python3-charset-normalizer python3-cheroot 207s python3-diff-match-patch python3-enchant python3-iniparse 207s python3-levenshtein python3-lxml python3-mistletoe python3-phply python3-ply 207s python3-pycountry python3-pytz python3-rapidfuzz python3-ruamel.yaml 207s python3-ruamel.yaml.clib python3-soupsieve python3-tomlkit python3-translate 207s python3-unicode-segmentation-rs python3-vobject python3-xapian subversion 207s translate-toolkit 207s 0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded. 207s Need to get 13.4 MB of archives. 207s After this operation, 63.9 MB of additional disk space will be used. 207s Get:1 http://ftpmaster.internal/ubuntu resolute/main s390x emacsen-common all 3.0.8 [13.9 kB] 207s Get:2 http://ftpmaster.internal/ubuntu resolute/main s390x dictionaries-common all 1.31.3 [179 kB] 207s Get:3 http://ftpmaster.internal/ubuntu resolute/main s390x libgomp1 s390x 15.2.0-12ubuntu1 [154 kB] 207s Get:4 http://ftpmaster.internal/ubuntu resolute/main s390x gettext s390x 0.23.2-1 [1062 kB] 207s Get:5 http://ftpmaster.internal/ubuntu resolute/main s390x hunspell-en-us all 1:2020.12.07-4build1 [585 kB] 207s Get:6 http://ftpmaster.internal/ubuntu resolute/main s390x libapr1t64 s390x 1.7.6-3 [114 kB] 207s Get:7 http://ftpmaster.internal/ubuntu resolute/main s390x libaprutil1t64 s390x 1.6.3-3ubuntu3 [98.9 kB] 207s Get:8 http://ftpmaster.internal/ubuntu resolute/main s390x libaspell15 s390x 0.60.8.1-6 [354 kB] 207s Get:9 http://ftpmaster.internal/ubuntu resolute/main s390x libhunspell-1.7-0 s390x 1.7.2+really1.7.2-11 [328 kB] 207s Get:10 http://ftpmaster.internal/ubuntu resolute/main s390x libenchant-2-2 s390x 2.8.2+dfsg1-3build1 [60.9 kB] 207s Get:11 http://ftpmaster.internal/ubuntu resolute/main s390x libexttextcat-data all 3.4.7-1ubuntu2 [193 kB] 207s Get:12 http://ftpmaster.internal/ubuntu resolute/universe s390x libserf-1-1 s390x 1.3.10-3ubuntu1 [49.8 kB] 207s Get:13 http://ftpmaster.internal/ubuntu resolute/universe s390x libutf8proc3 s390x 2.10.0-2 [72.0 kB] 207s Get:14 http://ftpmaster.internal/ubuntu resolute/universe s390x libsvn1 s390x 1.14.5-5 [1359 kB] 207s Get:15 http://ftpmaster.internal/ubuntu resolute/universe s390x libxapian30 s390x 1.4.29-3 [740 kB] 208s Get:16 http://ftpmaster.internal/ubuntu resolute/main s390x libxslt1.1 s390x 1.1.43-0.3 [163 kB] 208s Get:17 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-aeidon all 1.15-2build1 [225 kB] 208s Get:18 http://ftpmaster.internal/ubuntu resolute/main s390x python3-soupsieve all 2.8.3-1 [34.0 kB] 208s Get:19 http://ftpmaster.internal/ubuntu resolute/main s390x python3-bs4 all 4.14.3-2build1 [84.8 kB] 208s Get:20 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-charset-normalizer s390x 3.4.4-2 [181 kB] 208s Get:21 http://ftpmaster.internal/ubuntu resolute/main s390x python3-cheroot all 11.1.2+ds1-1 [81.5 kB] 208s Get:22 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-diff-match-patch all 20241021-1 [33.6 kB] 208s Get:23 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-enchant all 3.3.0-1 [35.0 kB] 208s Get:24 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-rapidfuzz s390x 3.12.2+ds-1build1 [1790 kB] 208s Get:25 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-levenshtein s390x 0.27.1-2build1 [181 kB] 208s Get:26 http://ftpmaster.internal/ubuntu resolute/main s390x python3-lxml s390x 6.0.2-1 [2478 kB] 208s Get:27 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-mistletoe all 1.5.1-1 [41.7 kB] 208s Get:28 http://ftpmaster.internal/ubuntu resolute/main s390x python3-ply all 3.11-10 [45.9 kB] 208s Get:29 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-phply all 1.2.6-1build1 [50.6 kB] 208s Get:30 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pytz all 2025.2-5 [32.4 kB] 208s Get:31 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-ruamel.yaml.clib s390x 0.2.15+ds-1 [214 kB] 208s Get:32 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x python3-ruamel.yaml all 0.18.10+ds-1build1 [127 kB] 208s Get:33 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-tomlkit all 0.13.3-2 [39.1 kB] 208s Get:34 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-translate all 3.18.1-1 [339 kB] 208s Get:35 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-unicode-segmentation-rs s390x 0.2.1-1 [234 kB] 208s Get:36 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-vobject all 0.9.9+dfsg-1 [41.5 kB] 208s Get:37 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-xapian s390x 1.4.29-1build1 [572 kB] 208s Get:38 http://ftpmaster.internal/ubuntu resolute/universe s390x subversion s390x 1.14.5-5 [898 kB] 208s Get:39 http://ftpmaster.internal/ubuntu resolute/universe s390x translate-toolkit all 3.18.1-1 [83.7 kB] 208s Get:40 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-iniparse all 0.5.1-2 [21.4 kB] 208s Get:41 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 210s Preconfiguring packages ... 210s Fetched 13.4 MB in 1s (9041 kB/s) 210s Selecting previously unselected package emacsen-common. 211s (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 ... 87720 files and directories currently installed.) 211s Preparing to unpack .../00-emacsen-common_3.0.8_all.deb ... 211s Unpacking emacsen-common (3.0.8) ... 211s Selecting previously unselected package dictionaries-common. 211s Preparing to unpack .../01-dictionaries-common_1.31.3_all.deb ... 211s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 211s Unpacking dictionaries-common (1.31.3) ... 211s Selecting previously unselected package libgomp1:s390x. 211s Preparing to unpack .../02-libgomp1_15.2.0-12ubuntu1_s390x.deb ... 211s Unpacking libgomp1:s390x (15.2.0-12ubuntu1) ... 211s Selecting previously unselected package gettext. 211s Preparing to unpack .../03-gettext_0.23.2-1_s390x.deb ... 211s Unpacking gettext (0.23.2-1) ... 211s Selecting previously unselected package hunspell-en-us. 211s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-4build1_all.deb ... 211s Unpacking hunspell-en-us (1:2020.12.07-4build1) ... 211s Selecting previously unselected package libapr1t64:s390x. 211s Preparing to unpack .../05-libapr1t64_1.7.6-3_s390x.deb ... 211s Unpacking libapr1t64:s390x (1.7.6-3) ... 211s Selecting previously unselected package libaprutil1t64:s390x. 211s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu3_s390x.deb ... 211s Unpacking libaprutil1t64:s390x (1.6.3-3ubuntu3) ... 212s Selecting previously unselected package libaspell15:s390x. 212s Preparing to unpack .../07-libaspell15_0.60.8.1-6_s390x.deb ... 212s Unpacking libaspell15:s390x (0.60.8.1-6) ... 212s Selecting previously unselected package libhunspell-1.7-0:s390x. 212s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-11_s390x.deb ... 212s Unpacking libhunspell-1.7-0:s390x (1.7.2+really1.7.2-11) ... 212s Selecting previously unselected package libenchant-2-2:s390x. 212s Preparing to unpack .../09-libenchant-2-2_2.8.2+dfsg1-3build1_s390x.deb ... 212s Unpacking libenchant-2-2:s390x (2.8.2+dfsg1-3build1) ... 212s Selecting previously unselected package libexttextcat-data. 212s Preparing to unpack .../10-libexttextcat-data_3.4.7-1ubuntu2_all.deb ... 212s Unpacking libexttextcat-data (3.4.7-1ubuntu2) ... 212s Selecting previously unselected package libserf-1-1:s390x. 212s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_s390x.deb ... 212s Unpacking libserf-1-1:s390x (1.3.10-3ubuntu1) ... 212s Selecting previously unselected package libutf8proc3:s390x. 212s Preparing to unpack .../12-libutf8proc3_2.10.0-2_s390x.deb ... 212s Unpacking libutf8proc3:s390x (2.10.0-2) ... 212s Selecting previously unselected package libsvn1:s390x. 212s Preparing to unpack .../13-libsvn1_1.14.5-5_s390x.deb ... 212s Unpacking libsvn1:s390x (1.14.5-5) ... 212s Selecting previously unselected package libxapian30:s390x. 212s Preparing to unpack .../14-libxapian30_1.4.29-3_s390x.deb ... 212s Unpacking libxapian30:s390x (1.4.29-3) ... 213s Selecting previously unselected package libxslt1.1:s390x. 213s Preparing to unpack .../15-libxslt1.1_1.1.43-0.3_s390x.deb ... 213s Unpacking libxslt1.1:s390x (1.1.43-0.3) ... 213s Selecting previously unselected package python3-aeidon. 213s Preparing to unpack .../16-python3-aeidon_1.15-2build1_all.deb ... 213s Unpacking python3-aeidon (1.15-2build1) ... 213s Selecting previously unselected package python3-soupsieve. 213s Preparing to unpack .../17-python3-soupsieve_2.8.3-1_all.deb ... 213s Unpacking python3-soupsieve (2.8.3-1) ... 213s Selecting previously unselected package python3-bs4. 213s Preparing to unpack .../18-python3-bs4_4.14.3-2build1_all.deb ... 213s Unpacking python3-bs4 (4.14.3-2build1) ... 213s Selecting previously unselected package python3-charset-normalizer. 213s Preparing to unpack .../19-python3-charset-normalizer_3.4.4-2_s390x.deb ... 213s Unpacking python3-charset-normalizer (3.4.4-2) ... 213s Selecting previously unselected package python3-cheroot. 213s Preparing to unpack .../20-python3-cheroot_11.1.2+ds1-1_all.deb ... 213s Unpacking python3-cheroot (11.1.2+ds1-1) ... 213s Selecting previously unselected package python3-diff-match-patch. 213s Preparing to unpack .../21-python3-diff-match-patch_20241021-1_all.deb ... 213s Unpacking python3-diff-match-patch (20241021-1) ... 213s Selecting previously unselected package python3-enchant. 213s Preparing to unpack .../22-python3-enchant_3.3.0-1_all.deb ... 213s Unpacking python3-enchant (3.3.0-1) ... 214s Selecting previously unselected package python3-rapidfuzz. 214s Preparing to unpack .../23-python3-rapidfuzz_3.12.2+ds-1build1_s390x.deb ... 214s Unpacking python3-rapidfuzz (3.12.2+ds-1build1) ... 214s Selecting previously unselected package python3-levenshtein. 214s Preparing to unpack .../24-python3-levenshtein_0.27.1-2build1_s390x.deb ... 214s Unpacking python3-levenshtein (0.27.1-2build1) ... 214s Selecting previously unselected package python3-lxml:s390x. 214s Preparing to unpack .../25-python3-lxml_6.0.2-1_s390x.deb ... 214s Unpacking python3-lxml:s390x (6.0.2-1) ... 214s Selecting previously unselected package python3-mistletoe. 214s Preparing to unpack .../26-python3-mistletoe_1.5.1-1_all.deb ... 214s Unpacking python3-mistletoe (1.5.1-1) ... 214s Selecting previously unselected package python3-ply. 215s Preparing to unpack .../27-python3-ply_3.11-10_all.deb ... 215s Unpacking python3-ply (3.11-10) ... 215s Selecting previously unselected package python3-phply. 215s Preparing to unpack .../28-python3-phply_1.2.6-1build1_all.deb ... 215s Unpacking python3-phply (1.2.6-1build1) ... 215s Selecting previously unselected package python3-pytz. 215s Preparing to unpack .../29-python3-pytz_2025.2-5_all.deb ... 215s Unpacking python3-pytz (2025.2-5) ... 215s Selecting previously unselected package python3-ruamel.yaml.clib. 215s Preparing to unpack .../30-python3-ruamel.yaml.clib_0.2.15+ds-1_s390x.deb ... 215s Unpacking python3-ruamel.yaml.clib (0.2.15+ds-1) ... 215s Selecting previously unselected package python3-ruamel.yaml. 215s Preparing to unpack .../31-python3-ruamel.yaml_0.18.10+ds-1build1_all.deb ... 215s Unpacking python3-ruamel.yaml (0.18.10+ds-1build1) ... 215s Selecting previously unselected package python3-tomlkit. 215s Preparing to unpack .../32-python3-tomlkit_0.13.3-2_all.deb ... 215s Unpacking python3-tomlkit (0.13.3-2) ... 215s Selecting previously unselected package python3-translate. 215s Preparing to unpack .../33-python3-translate_3.18.1-1_all.deb ... 215s Unpacking python3-translate (3.18.1-1) ... 216s Selecting previously unselected package python3-unicode-segmentation-rs. 216s Preparing to unpack .../34-python3-unicode-segmentation-rs_0.2.1-1_s390x.deb ... 216s Unpacking python3-unicode-segmentation-rs (0.2.1-1) ... 216s Selecting previously unselected package python3-vobject. 216s Preparing to unpack .../35-python3-vobject_0.9.9+dfsg-1_all.deb ... 216s Unpacking python3-vobject (0.9.9+dfsg-1) ... 216s Selecting previously unselected package python3-xapian. 216s Preparing to unpack .../36-python3-xapian_1.4.29-1build1_s390x.deb ... 216s Unpacking python3-xapian (1.4.29-1build1) ... 216s Selecting previously unselected package subversion. 216s Preparing to unpack .../37-subversion_1.14.5-5_s390x.deb ... 216s Unpacking subversion (1.14.5-5) ... 216s Selecting previously unselected package translate-toolkit. 216s Preparing to unpack .../38-translate-toolkit_3.18.1-1_all.deb ... 216s Unpacking translate-toolkit (3.18.1-1) ... 216s Selecting previously unselected package python3-iniparse. 216s Preparing to unpack .../39-python3-iniparse_0.5.1-2_all.deb ... 216s Unpacking python3-iniparse (0.5.1-2) ... 216s Selecting previously unselected package python3-pycountry. 216s Preparing to unpack .../40-python3-pycountry_24.6.1+ds1-1_all.deb ... 216s Unpacking python3-pycountry (24.6.1+ds1-1) ... 217s Setting up libxapian30:s390x (1.4.29-3) ... 217s Setting up python3-rapidfuzz (3.12.2+ds-1build1) ... 217s Setting up python3-diff-match-patch (20241021-1) ... 218s Setting up python3-aeidon (1.15-2build1) ... 219s Setting up libutf8proc3:s390x (2.10.0-2) ... 219s Setting up libaspell15:s390x (0.60.8.1-6) ... 219s Setting up python3-charset-normalizer (3.4.4-2) ... 219s Setting up python3-ply (3.11-10) ... 220s Setting up python3-ruamel.yaml.clib (0.2.15+ds-1) ... 220s Setting up python3-pytz (2025.2-5) ... 220s Setting up python3-unicode-segmentation-rs (0.2.1-1) ... 221s Setting up libgomp1:s390x (15.2.0-12ubuntu1) ... 221s Setting up emacsen-common (3.0.8) ... 221s Setting up python3-cheroot (11.1.2+ds1-1) ... 222s Setting up python3-pycountry (24.6.1+ds1-1) ... 223s Setting up python3-xapian (1.4.29-1build1) ... 223s Setting up python3-ruamel.yaml (0.18.10+ds-1build1) ... 224s Setting up python3-mistletoe (1.5.1-1) ... 224s Setting up libexttextcat-data (3.4.7-1ubuntu2) ... 224s Setting up libapr1t64:s390x (1.7.6-3) ... 224s Setting up libxslt1.1:s390x (1.1.43-0.3) ... 224s Setting up python3-levenshtein (0.27.1-2build1) ... 225s Setting up libhunspell-1.7-0:s390x (1.7.2+really1.7.2-11) ... 225s Setting up python3-tomlkit (0.13.3-2) ... 226s Setting up python3-soupsieve (2.8.3-1) ... 227s Setting up python3-iniparse (0.5.1-2) ... 227s Setting up libaprutil1t64:s390x (1.6.3-3ubuntu3) ... 227s Setting up python3-vobject (0.9.9+dfsg-1) ... 228s Setting up gettext (0.23.2-1) ... 228s Setting up python3-phply (1.2.6-1build1) ... 229s Setting up dictionaries-common (1.31.3) ... 230s Setting up libserf-1-1:s390x (1.3.10-3ubuntu1) ... 230s Setting up python3-bs4 (4.14.3-2build1) ... 231s Setting up python3-lxml:s390x (6.0.2-1) ... 232s Setting up hunspell-en-us (1:2020.12.07-4build1) ... 232s Setting up libsvn1:s390x (1.14.5-5) ... 232s Setting up libenchant-2-2:s390x (2.8.2+dfsg1-3build1) ... 232s Setting up subversion (1.14.5-5) ... 232s Setting up python3-enchant (3.3.0-1) ... 233s Setting up python3-translate (3.18.1-1) ... 235s Setting up translate-toolkit (3.18.1-1) ... 235s Processing triggers for libc-bin (2.42-2ubuntu4) ... 235s Processing triggers for man-db (2.13.1-1) ... 242s Processing triggers for install-info (7.2-5) ... 242s Processing triggers for dictionaries-common (1.31.3) ... 245s autopkgtest [05:55:53]: test translate-toolkit: [----------------------- 245s ========= SMOKE TEST: /usr/bin/android2po =========== 245s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 245s 245s Convert Android string files to Gettext PO localization files. See: 245s http://docs.translatehouse.org/projects/translate- 245s toolkit/en/latest/commands/android2po.html for examples and usage 245s instructions. 245s 245s Options: 245s --version show program's version number and exit 245s -h, --help show this help message and exit 245s --manpage output a manpage based on the help 245s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 245s --errorlevel=ERRORLEVEL 245s show errorlevel as: none, message, exception, 245s traceback 245s -i INPUT, --input=INPUT 245s read from INPUT in xml format 245s -x EXCLUDE, --exclude=EXCLUDE 245s exclude names matching EXCLUDE from input paths 245s -o OUTPUT, --output=OUTPUT 245s write to OUTPUT in po, pot formats 245s -t TEMPLATE, --template=TEMPLATE 245s read from TEMPLATE in xml format 245s -S, --timestamp skip conversion if the output file has newer timestamp 245s --duplicates=DUPLICATESTYLE 245s what to do with duplicate strings (identical source 245s text): merge, msgctxt (default: 'msgctxt') 245s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 246s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 246s input files [input files ...] 246s 246s positional arguments: 246s input files 246s 246s options: 246s -h, --help show this help message and exit 246s -d, --tmdb TMDB_FILE translation memory database file (default: tm.db) 246s -s, --import-source-lang SOURCE_LANG 246s source language of translation files (default: en) 246s -t, --import-target-lang TARGET_LANG 246s target language of translation files 247s ========= SMOKE TEST: /usr/bin/csv2po =========== 247s 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] 247s 247s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 247s See: http://docs.translatehouse.org/projects/translate- 247s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 247s 247s Options: 247s --version show program's version number and exit 247s -h, --help show this help message and exit 247s --manpage output a manpage based on the help 247s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 247s --errorlevel=ERRORLEVEL 247s show errorlevel as: none, message, exception, 247s traceback 247s -i INPUT, --input=INPUT 247s read from INPUT in csv format 247s -x EXCLUDE, --exclude=EXCLUDE 247s exclude names matching EXCLUDE from input paths 247s -o OUTPUT, --output=OUTPUT 247s write to OUTPUT in po, pot formats 247s -t TEMPLATE, --template=TEMPLATE 247s read from TEMPLATE in po, pot, pot formats 247s -S, --timestamp skip conversion if the output file has newer timestamp 247s -P, --pot output PO Templates (.pot) rather than PO files (.po) 247s --charset=CHARSET set charset to decode from csv files 247s --columnorder=COLUMNORDER 247s specify the order and position of columns 247s (location,source,target,context) 247s --duplicates=DUPLICATESTYLE 247s what to do with duplicate strings (identical source 247s text): merge, msgctxt (default: 'msgctxt') 247s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 248s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 248s 248s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 248s glossary file. See: http://docs.translatehouse.org/projects/translate- 248s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 248s 248s Options: 248s --version show program's version number and exit 248s -h, --help show this help message and exit 248s --manpage output a manpage based on the help 248s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 248s --errorlevel=ERRORLEVEL 248s show errorlevel as: none, message, exception, 248s traceback 248s -i INPUT, --input=INPUT 248s read from INPUT in csv format 248s -x EXCLUDE, --exclude=EXCLUDE 248s exclude names matching EXCLUDE from input paths 248s -o OUTPUT, --output=OUTPUT 248s write to OUTPUT in tbx format 248s -S, --timestamp skip conversion if the output file has newer timestamp 248s --charset=CHARSET set charset to decode from csv files 248s --columnorder=COLUMNORDER 248s specify the order and position of columns 248s (comment,source,target) 249s ========= SMOKE TEST: /usr/bin/dtd2po =========== 249s 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] 249s 249s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 249s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 249s this module You can convert back to .dtd using po2dtd.py. 249s 249s Options: 249s --version show program's version number and exit 249s -h, --help show this help message and exit 249s --manpage output a manpage based on the help 249s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 249s --errorlevel=ERRORLEVEL 249s show errorlevel as: none, message, exception, 249s traceback 249s -i INPUT, --input=INPUT 249s read from INPUT in dtd format 249s -x EXCLUDE, --exclude=EXCLUDE 249s exclude names matching EXCLUDE from input paths 249s -o OUTPUT, --output=OUTPUT 249s write to OUTPUT in po, pot formats 249s -t TEMPLATE, --template=TEMPLATE 249s read from TEMPLATE in dtd format 249s -S, --timestamp skip conversion if the output file has newer timestamp 249s -P, --pot output PO Templates (.pot) rather than PO files (.po) 249s --duplicates=DUPLICATESTYLE 249s what to do with duplicate strings (identical source 249s text): merge, msgctxt (default: 'msgctxt') 250s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 250s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 250s 250s Convert flat XML files to Gettext PO localization files. See: 250s http://docs.translatehouse.org/projects/translate- 250s toolkit/en/latest/commands/flatxml2po.html for examples and usage 250s instructions. 250s 250s Options: 250s --version show program's version number and exit 250s -h, --help show this help message and exit 250s --manpage output a manpage based on the help 250s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 250s --errorlevel=ERRORLEVEL 250s show errorlevel as: none, message, exception, 250s traceback 250s -i INPUT, --input=INPUT 250s read from INPUT in xml format 250s -x EXCLUDE, --exclude=EXCLUDE 250s exclude names matching EXCLUDE from input paths 250s -o OUTPUT, --output=OUTPUT 250s write to OUTPUT in po, pot formats 250s -S, --timestamp skip conversion if the output file has newer timestamp 250s -r ROOT, --root=ROOT name of the XML root element (default: "root") 250s -v VALUE, --value=VALUE 250s name of the XML value element (default: "str") 250s -k KEY, --key=KEY name of the XML key attribute (default: "key") 250s -n NS, --namespace=NS 250s XML namespace uri (default: None) 251s ========= SMOKE TEST: /usr/bin/html2po =========== 251s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 251s 251s Convert HTML files to Gettext PO localization files. See: 251s http://docs.translatehouse.org/projects/translate- 251s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 251s 251s Options: 251s --version show program's version number and exit 251s -h, --help show this help message and exit 251s --manpage output a manpage based on the help 251s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 251s --errorlevel=ERRORLEVEL 251s show errorlevel as: none, message, exception, 251s traceback 251s -i INPUT, --input=INPUT 251s read from INPUT in htm, html, xhtml formats 251s -x EXCLUDE, --exclude=EXCLUDE 251s exclude names matching EXCLUDE from input paths 251s -o OUTPUT, --output=OUTPUT 251s write to OUTPUT in po, pot formats 251s -S, --timestamp skip conversion if the output file has newer timestamp 251s -P, --pot output PO Templates (.pot) rather than PO files (.po) 251s --keepcomments preserve html comments as translation notes in the 251s output 251s --duplicates=DUPLICATESTYLE 251s what to do with duplicate strings (identical source 251s text): merge, msgctxt (default: 'msgctxt') 251s --multifile=MULTIFILESTYLE 251s how to split po/pot files (single, toplevel or 251s onefile) 251s ========= SMOKE TEST: /usr/bin/ical2po =========== 252s 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] 252s 252s Convert iCalendar files to Gettext PO localization files. See: 252s http://docs.translatehouse.org/projects/translate- 252s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 252s 252s Options: 252s --version show program's version number and exit 252s -h, --help show this help message and exit 252s --manpage output a manpage based on the help 252s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 252s --errorlevel=ERRORLEVEL 252s show errorlevel as: none, message, exception, 252s traceback 252s -i INPUT, --input=INPUT 252s read from INPUT in ics format 252s -x EXCLUDE, --exclude=EXCLUDE 252s exclude names matching EXCLUDE from input paths 252s -o OUTPUT, --output=OUTPUT 252s write to OUTPUT in po, pot formats 252s -t TEMPLATE, --template=TEMPLATE 252s read from TEMPLATE in ics format 252s -S, --timestamp skip conversion if the output file has newer timestamp 252s -P, --pot output PO Templates (.pot) rather than PO files (.po) 252s --duplicates=DUPLICATESTYLE 252s what to do with duplicate strings (identical source 252s text): merge, msgctxt (default: 'msgctxt') 253s ========= SMOKE TEST: /usr/bin/idml2po =========== 253s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 253s 253s Convert IDML files to PO localization files. 253s 253s Options: 253s --version show program's version number and exit 253s -h, --help show this help message and exit 253s --manpage output a manpage based on the help 253s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 253s --errorlevel=ERRORLEVEL 253s show errorlevel as: none, message, exception, 253s traceback 253s -i INPUT, --input=INPUT 253s read from INPUT in idml format 253s -x EXCLUDE, --exclude=EXCLUDE 253s exclude names matching EXCLUDE from input paths 253s -o OUTPUT, --output=OUTPUT 253s write to OUTPUT in po, pot formats 253s -S, --timestamp skip conversion if the output file has newer timestamp 253s ========= SMOKE TEST: /usr/bin/ini2po =========== 253s 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] 253s 253s Convert .ini files to Gettext PO localization files. See: 253s http://docs.translatehouse.org/projects/translate- 253s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 253s 253s Options: 253s --version show program's version number and exit 253s -h, --help show this help message and exit 253s --manpage output a manpage based on the help 253s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 253s --errorlevel=ERRORLEVEL 253s show errorlevel as: none, message, exception, 253s traceback 253s -i INPUT, --input=INPUT 253s read from INPUT in ini, isl, iss formats 253s -x EXCLUDE, --exclude=EXCLUDE 253s exclude names matching EXCLUDE from input paths 253s -o OUTPUT, --output=OUTPUT 253s write to OUTPUT in po, pot formats 253s -t TEMPLATE, --template=TEMPLATE 253s read from TEMPLATE in ini, isl, iss formats 253s -S, --timestamp skip conversion if the output file has newer timestamp 253s -P, --pot output PO Templates (.pot) rather than PO files (.po) 253s --duplicates=DUPLICATESTYLE 253s what to do with duplicate strings (identical source 253s text): merge, msgctxt (default: 'msgctxt') 254s ========= SMOKE TEST: /usr/bin/json2po =========== 254s 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] 254s 254s Convert JSON files to Gettext PO localization files. See: 254s http://docs.translatehouse.org/projects/translate- 254s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 254s 254s Options: 254s --version show program's version number and exit 254s -h, --help show this help message and exit 254s --manpage output a manpage based on the help 254s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 254s --errorlevel=ERRORLEVEL 254s show errorlevel as: none, message, exception, 254s traceback 254s -i INPUT, --input=INPUT 254s read from INPUT in json format 254s -x EXCLUDE, --exclude=EXCLUDE 254s exclude names matching EXCLUDE from input paths 254s -o OUTPUT, --output=OUTPUT 254s write to OUTPUT in po, pot formats 254s -t TEMPLATE, --template=TEMPLATE 254s read from TEMPLATE in json format 254s -S, --timestamp skip conversion if the output file has newer timestamp 254s -P, --pot output PO Templates (.pot) rather than PO files (.po) 254s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 254s everything) 254s --duplicates=DUPLICATESTYLE 254s what to do with duplicate strings (identical source 254s text): merge, msgctxt (default: 'msgctxt') 254s ========= SMOKE TEST: /usr/bin/md2po =========== 255s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 255s 255s Convert Markdown files to Gettext PO localization files. See: 255s http://docs.translatehouse.org/projects/translate- 255s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 255s 255s Options: 255s --version show program's version number and exit 255s -h, --help show this help message and exit 255s --manpage output a manpage based on the help 255s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 255s --errorlevel=ERRORLEVEL 255s show errorlevel as: none, message, exception, 255s traceback 255s -i INPUT, --input=INPUT 255s read from INPUT in markdown, md, text, txt formats 255s -x EXCLUDE, --exclude=EXCLUDE 255s exclude names matching EXCLUDE from input paths 255s -o OUTPUT, --output=OUTPUT 255s write to OUTPUT in po, pot formats 255s -S, --timestamp skip conversion if the output file has newer timestamp 255s -P, --pot output PO Templates (.pot) rather than PO files (.po) 255s --duplicates=DUPLICATESTYLE 255s what to do with duplicate strings (identical source 255s text): merge, msgctxt (default: 'msgctxt') 255s --multifile=MULTIFILESTYLE 255s how to split po/pot files (single, toplevel or 255s onefile) 256s ========= SMOKE TEST: /usr/bin/moz2po =========== 257s 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] 257s 257s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 257s See: http://docs.translatehouse.org/projects/translate- 257s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 257s 257s Options: 257s --version show program's version number and exit 257s -h, --help show this help message and exit 257s --manpage output a manpage based on the help 257s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 257s --errorlevel=ERRORLEVEL 257s show errorlevel as: none, message, exception, 257s traceback 257s -i INPUT, --input=INPUT 257s read from INPUT in *, dtd, inc, ini, it, js, lang, 257s manifest, properties, rdf formats 257s -x EXCLUDE, --exclude=EXCLUDE 257s exclude names matching EXCLUDE from input paths 257s -o OUTPUT, --output=OUTPUT 257s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 257s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 257s lang.pot, manifest, properties.po, properties.pot, rdf 257s formats 257s -t TEMPLATE, --template=TEMPLATE 257s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 257s manifest, properties, rdf formats 257s -S, --timestamp skip conversion if the output file has newer timestamp 257s -P, --pot output PO Templates (.pot) rather than PO files (.po) 257s --duplicates=DUPLICATESTYLE 257s what to do with duplicate strings (identical source 257s text): merge, msgctxt (default: 'msgctxt') 257s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 257s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 257s 257s Convert Mozilla .lang files to Gettext PO localization files. 257s 257s Options: 257s --version show program's version number and exit 257s -h, --help show this help message and exit 257s --manpage output a manpage based on the help 257s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 257s --errorlevel=ERRORLEVEL 257s show errorlevel as: none, message, exception, 257s traceback 257s -i INPUT, --input=INPUT 257s read from INPUT in lang format 257s -x EXCLUDE, --exclude=EXCLUDE 257s exclude names matching EXCLUDE from input paths 257s -o OUTPUT, --output=OUTPUT 257s write to OUTPUT in po, pot formats 257s -S, --timestamp skip conversion if the output file has newer timestamp 257s -P, --pot output PO Templates (.pot) rather than PO files (.po) 257s --encoding=ENCODING The encoding of the input file (default: UTF-8) 257s --duplicates=DUPLICATESTYLE 257s what to do with duplicate strings (identical source 257s text): merge, msgctxt (default: 'msgctxt') 258s ========= SMOKE TEST: /usr/bin/msghack =========== 258s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 258s This program can be used to alter .po files in ways no sane mind would think about. 258s -o result will be written to FILE 258s --invert invert a po file by switching msgid and msgstr 258s --master join any number of files in a master-formatted catalog 258s --empty empty the contents of the .po file, creating a .pot 258s --append append entries from ref.po that don't exist in file.po 258s 258s Note: It is just a replacement of msghack for backward support. 258s 258s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 258s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 258s 258s Convert OpenDocument (ODF) files to XLIFF localization files. See: 258s http://docs.translatehouse.org/projects/translate- 258s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 258s 258s Options: 258s --version show program's version number and exit 258s -h, --help show this help message and exit 258s --manpage output a manpage based on the help 258s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 258s --errorlevel=ERRORLEVEL 258s show errorlevel as: none, message, exception, 258s traceback 258s -i INPUT, --input=INPUT 258s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 258s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 258s formats 258s -x EXCLUDE, --exclude=EXCLUDE 258s exclude names matching EXCLUDE from input paths 258s -o OUTPUT, --output=OUTPUT 258s write to OUTPUT in xlf, xliff formats 258s -S, --timestamp skip conversion if the output file has newer timestamp 259s ========= SMOKE TEST: /usr/bin/oo2po =========== 259s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 259s 259s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 259s files. See: http://docs.translatehouse.org/projects/translate- 259s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 259s 259s Options: 259s --version show program's version number and exit 259s -h, --help show this help message and exit 259s --manpage output a manpage based on the help 259s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 259s --errorlevel=ERRORLEVEL 259s show errorlevel as: none, message, exception, 259s traceback 259s -i INPUT, --input=INPUT 259s read from INPUT in oo, sdf formats 259s -x EXCLUDE, --exclude=EXCLUDE 259s exclude names matching EXCLUDE from input paths 259s -o OUTPUT, --output=OUTPUT 259s write to OUTPUT in po, pot formats 259s -S, --timestamp skip conversion if the output file has newer timestamp 259s -P, --pot output PO Templates (.pot) rather than PO files (.po) 259s -l LANG, --language=LANG 259s set target language to extract from oo file (e.g. af- 259s ZA) 259s --source-language=LANG 259s set source language code (default en-US) 259s --nonrecursiveinput don't treat the input oo as a recursive store 259s --duplicates=DUPLICATESTYLE 259s what to do with duplicate strings (identical source 259s text): merge, msgctxt (default: 'msgctxt') 259s --multifile=MULTIFILESTYLE 259s how to split po/pot files (single, toplevel or 259s onefile) 259s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 260s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 260s 260s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 260s files. See: http://docs.translatehouse.org/projects/translate- 260s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 260s 260s Options: 260s --version show program's version number and exit 260s -h, --help show this help message and exit 260s --manpage output a manpage based on the help 260s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 260s --errorlevel=ERRORLEVEL 260s show errorlevel as: none, message, exception, 260s traceback 260s -i INPUT, --input=INPUT 260s read from INPUT in oo, sdf formats 260s -x EXCLUDE, --exclude=EXCLUDE 260s exclude names matching EXCLUDE from input paths 260s -o OUTPUT, --output=OUTPUT 260s write to OUTPUT in xlf, xliff formats 260s -S, --timestamp skip conversion if the output file has newer timestamp 260s -l LANG, --language=LANG 260s set target language to extract from oo file (e.g. af- 260s ZA) 260s --source-language=LANG 260s set source language code (default en-US) 260s --nonrecursiveinput don't treat the input oo as a recursive store 260s --duplicates=DUPLICATESTYLE 260s what to do with duplicate strings (identical source 260s text): merge, msgctxt (default: 'msgctxt') 260s --multifile=MULTIFILESTYLE 260s how to split po/pot files (single, toplevel or 260s onefile) 260s ========= SMOKE TEST: /usr/bin/php2po =========== 261s 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] 261s 261s Convert PHP localization files to Gettext PO localization files. See: 261s http://docs.translatehouse.org/projects/translate- 261s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 261s 261s Options: 261s --version show program's version number and exit 261s -h, --help show this help message and exit 261s --manpage output a manpage based on the help 261s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 261s --errorlevel=ERRORLEVEL 261s show errorlevel as: none, message, exception, 261s traceback 261s -i INPUT, --input=INPUT 261s read from INPUT in html, php formats 261s -x EXCLUDE, --exclude=EXCLUDE 261s exclude names matching EXCLUDE from input paths 261s -o OUTPUT, --output=OUTPUT 261s write to OUTPUT in po, pot formats 261s -t TEMPLATE, --template=TEMPLATE 261s read from TEMPLATE in html, php formats 261s -S, --timestamp skip conversion if the output file has newer timestamp 261s -P, --pot output PO Templates (.pot) rather than PO files (.po) 261s --duplicates=DUPLICATESTYLE 261s what to do with duplicate strings (identical source 261s text): merge, msgctxt (default: 'msgctxt') 261s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 261s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 261s 261s Convert PHP format .po files to Python format .po files. 261s 261s Options: 261s --version show program's version number and exit 261s -h, --help show this help message and exit 261s --manpage output a manpage based on the help 261s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 261s --errorlevel=ERRORLEVEL 261s show errorlevel as: none, message, exception, 261s traceback 261s -i INPUT, --input=INPUT 261s read from INPUT in po, pot formats 261s -x EXCLUDE, --exclude=EXCLUDE 261s exclude names matching EXCLUDE from input paths 261s -o OUTPUT, --output=OUTPUT 261s write to OUTPUT in po, pot formats 261s -S, --timestamp skip conversion if the output file has newer timestamp 262s ========= SMOKE TEST: /usr/bin/po2csv =========== 262s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 262s 262s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 262s See: http://docs.translatehouse.org/projects/translate- 262s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 262s 262s Options: 262s --version show program's version number and exit 262s -h, --help show this help message and exit 262s --manpage output a manpage based on the help 262s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 262s --errorlevel=ERRORLEVEL 262s show errorlevel as: none, message, exception, 262s traceback 262s -i INPUT, --input=INPUT 262s read from INPUT in po, pot formats 262s -x EXCLUDE, --exclude=EXCLUDE 262s exclude names matching EXCLUDE from input paths 262s -o OUTPUT, --output=OUTPUT 262s write to OUTPUT in csv format 262s -S, --timestamp skip conversion if the output file has newer timestamp 262s --columnorder=COLUMNORDER 262s specify the order and position of columns 262s (location,source,target,context) 262s ========= SMOKE TEST: /usr/bin/po2dtd =========== 262s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 262s 262s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 262s Conversion is either done using a template plus PO file or just using the 262s .po file. 262s 262s Options: 262s --version show program's version number and exit 262s -h, --help show this help message and exit 262s --manpage output a manpage based on the help 262s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 262s --errorlevel=ERRORLEVEL 262s show errorlevel as: none, message, exception, 262s traceback 262s -i INPUT, --input=INPUT 262s read from INPUT in po, pot formats 262s -x EXCLUDE, --exclude=EXCLUDE 262s exclude names matching EXCLUDE from input paths 262s -o OUTPUT, --output=OUTPUT 262s write to OUTPUT in dtd format 262s -t TEMPLATE, --template=TEMPLATE 262s read from TEMPLATE in dtd format 262s -S, --timestamp skip conversion if the output file has newer timestamp 262s --threshold=PERCENT only convert files where the translation completion is 262s above PERCENT 262s --fuzzy use translations marked fuzzy 262s --nofuzzy don't use translations marked fuzzy (default) 262s --removeuntranslated remove untranslated strings from output 263s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 263s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 263s 263s Convert Gettext PO localization files to flat XML files. See: 263s http://docs.translatehouse.org/projects/translate- 263s toolkit/en/latest/commands/flatxml2po.html for examples and usage 263s instructions. 263s 263s Options: 263s --version show program's version number and exit 263s -h, --help show this help message and exit 263s --manpage output a manpage based on the help 263s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 263s --errorlevel=ERRORLEVEL 263s show errorlevel as: none, message, exception, 263s traceback 263s -i INPUT, --input=INPUT 263s read from INPUT in po, pot formats 263s -x EXCLUDE, --exclude=EXCLUDE 263s exclude names matching EXCLUDE from input paths 263s -o OUTPUT, --output=OUTPUT 263s write to OUTPUT in xml format 263s -t TEMPLATE, --template=TEMPLATE 263s read from TEMPLATE in xml format 263s -S, --timestamp skip conversion if the output file has newer timestamp 263s -r ROOT, --root=ROOT name of the XML root element (default: "root") 263s -v VALUE, --value=VALUE 263s name of the XML value element (default: "str") 263s -k KEY, --key=KEY name of the XML key attribute (default: "key") 263s -n NS, --namespace=NS 263s XML namespace uri (default: None) 263s -w INDENT, --indent=INDENT 263s indent width in spaces, 0 for no indent (default: 2) 263s ========= SMOKE TEST: /usr/bin/po2html =========== 263s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 263s 263s Translate HTML files using Gettext PO localization files. See: 263s http://docs.translatehouse.org/projects/translate- 263s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 263s 263s Options: 263s --version show program's version number and exit 263s -h, --help show this help message and exit 263s --manpage output a manpage based on the help 263s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 263s --errorlevel=ERRORLEVEL 263s show errorlevel as: none, message, exception, 263s traceback 263s -i INPUT, --input=INPUT 263s read from INPUT in po, pot formats 263s -x EXCLUDE, --exclude=EXCLUDE 263s exclude names matching EXCLUDE from input paths 263s -o OUTPUT, --output=OUTPUT 263s write to OUTPUT in htm, html, xhtml formats 263s -t TEMPLATE, --template=TEMPLATE 263s read from TEMPLATE in htm, html, xhtml formats 263s -S, --timestamp skip conversion if the output file has newer timestamp 263s --threshold=PERCENT only convert files where the translation completion is 263s above PERCENT 263s --fuzzy use translations marked fuzzy 263s --nofuzzy don't use translations marked fuzzy (default) 263s ========= SMOKE TEST: /usr/bin/po2ical =========== 263s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 263s 263s Convert Gettext PO localization files to iCalendar files. See: 263s http://docs.translatehouse.org/projects/translate- 263s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 263s 263s Options: 263s --version show program's version number and exit 263s -h, --help show this help message and exit 263s --manpage output a manpage based on the help 263s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 263s --errorlevel=ERRORLEVEL 263s show errorlevel as: none, message, exception, 263s traceback 263s -i INPUT, --input=INPUT 263s read from INPUT in po, pot formats 263s -x EXCLUDE, --exclude=EXCLUDE 263s exclude names matching EXCLUDE from input paths 263s -o OUTPUT, --output=OUTPUT 263s write to OUTPUT in ics format 263s -t TEMPLATE, --template=TEMPLATE 263s read from TEMPLATE in ics format 263s -S, --timestamp skip conversion if the output file has newer timestamp 263s --threshold=PERCENT only convert files where the translation completion is 263s above PERCENT 263s --fuzzy use translations marked fuzzy 263s --nofuzzy don't use translations marked fuzzy (default) 263s ========= SMOKE TEST: /usr/bin/po2idml =========== 264s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 264s 264s Takes an IDML template file and a PO file containing translations of strings 264s in the IDML template. It creates a new IDML file using the translations of the 264s PO file. 264s 264s Options: 264s --version show program's version number and exit 264s -h, --help show this help message and exit 264s --manpage output a manpage based on the help 264s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 264s --errorlevel=ERRORLEVEL 264s show errorlevel as: none, message, exception, 264s traceback 264s -i INPUT, --input=INPUT 264s read from INPUT in po, pot formats 264s -x EXCLUDE, --exclude=EXCLUDE 264s exclude names matching EXCLUDE from input paths 264s -o OUTPUT, --output=OUTPUT 264s write to OUTPUT in idml format 264s -t TEMPLATE, --template=TEMPLATE 264s read from TEMPLATE in idml format 264s -S, --timestamp skip conversion if the output file has newer timestamp 265s ========= SMOKE TEST: /usr/bin/po2ini =========== 265s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 265s 265s Convert Gettext PO localization files to .ini files. See: 265s http://docs.translatehouse.org/projects/translate- 265s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 265s 265s Options: 265s --version show program's version number and exit 265s -h, --help show this help message and exit 265s --manpage output a manpage based on the help 265s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 265s --errorlevel=ERRORLEVEL 265s show errorlevel as: none, message, exception, 265s traceback 265s -i INPUT, --input=INPUT 265s read from INPUT in po, pot formats 265s -x EXCLUDE, --exclude=EXCLUDE 265s exclude names matching EXCLUDE from input paths 265s -o OUTPUT, --output=OUTPUT 265s write to OUTPUT in ini, isl formats 265s -t TEMPLATE, --template=TEMPLATE 265s read from TEMPLATE in ini, isl formats 265s -S, --timestamp skip conversion if the output file has newer timestamp 265s --threshold=PERCENT only convert files where the translation completion is 265s above PERCENT 265s --fuzzy use translations marked fuzzy 265s --nofuzzy don't use translations marked fuzzy (default) 265s ========= SMOKE TEST: /usr/bin/po2json =========== 265s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 265s 265s Convert Gettext PO localization files to JSON files. See: 265s http://docs.translatehouse.org/projects/translate- 265s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 265s 265s Options: 265s --version show program's version number and exit 265s -h, --help show this help message and exit 265s --manpage output a manpage based on the help 265s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 265s --errorlevel=ERRORLEVEL 265s show errorlevel as: none, message, exception, 265s traceback 265s -i INPUT, --input=INPUT 265s read from INPUT in po, pot formats 265s -x EXCLUDE, --exclude=EXCLUDE 265s exclude names matching EXCLUDE from input paths 265s -o OUTPUT, --output=OUTPUT 265s write to OUTPUT in json format 265s -t TEMPLATE, --template=TEMPLATE 265s read from TEMPLATE in json format 265s -S, --timestamp skip conversion if the output file has newer timestamp 265s --threshold=PERCENT only convert files where the translation completion is 265s above PERCENT 265s --fuzzy use translations marked fuzzy 265s --nofuzzy don't use translations marked fuzzy (default) 265s --removeuntranslated remove untranslated strings from output 266s ========= SMOKE TEST: /usr/bin/po2md =========== 267s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 267s 267s Translate Markdown files using Gettext PO localization files. See: 267s http://docs.translatehouse.org/projects/translate- 267s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 267s 267s Options: 267s --version show program's version number and exit 267s -h, --help show this help message and exit 267s --manpage output a manpage based on the help 267s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 267s --errorlevel=ERRORLEVEL 267s show errorlevel as: none, message, exception, 267s traceback 267s -i INPUT, --input=INPUT 267s read from INPUT in po, pot formats 267s -x EXCLUDE, --exclude=EXCLUDE 267s exclude names matching EXCLUDE from input paths 267s -o OUTPUT, --output=OUTPUT 267s write to OUTPUT in markdown, md, text, txt formats 267s -t TEMPLATE, --template=TEMPLATE 267s read from TEMPLATE in markdown, md, text, txt formats 267s -S, --timestamp skip conversion if the output file has newer timestamp 267s -m MAXLENGTH, --maxlinelength=MAXLENGTH 267s reflow (word wrap) the output to the given maximum 267s line length. set to 0 to disable 267s --threshold=PERCENT only convert files where the translation completion is 267s above PERCENT 267s --fuzzy use translations marked fuzzy 267s --nofuzzy don't use translations marked fuzzy (default) 268s ========= SMOKE TEST: /usr/bin/po2moz =========== 268s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 268s 268s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 268s See: http://docs.translatehouse.org/projects/translate- 268s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 268s 268s Options: 268s --version show program's version number and exit 268s -h, --help show this help message and exit 268s --manpage output a manpage based on the help 268s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 268s --errorlevel=ERRORLEVEL 268s show errorlevel as: none, message, exception, 268s traceback 268s -i INPUT, --input=INPUT 268s read from INPUT in *, dtd.po, dtd.pot, inc.po, 268s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 268s lang.pot, manifest, properties.po, properties.pot, rdf 268s formats 268s -x EXCLUDE, --exclude=EXCLUDE 268s exclude names matching EXCLUDE from input paths 268s -o OUTPUT, --output=OUTPUT 268s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 268s manifest, properties, rdf formats 268s -t TEMPLATE, --template=TEMPLATE 268s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 268s manifest, properties, rdf formats 268s -S, --timestamp skip conversion if the output file has newer timestamp 268s -l LOCALE, --locale=LOCALE 268s set output locale (required as this sets the directory 268s names) 268s --threshold=PERCENT only convert files where the translation completion is 268s above PERCENT 268s --fuzzy use translations marked fuzzy 268s --nofuzzy don't use translations marked fuzzy (default) 268s --removeuntranslated remove untranslated strings from output 269s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 269s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 269s 269s Convert Gettext PO localization files to Mozilla .lang files. 269s 269s Options: 269s --version show program's version number and exit 269s -h, --help show this help message and exit 269s --manpage output a manpage based on the help 269s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 269s --errorlevel=ERRORLEVEL 269s show errorlevel as: none, message, exception, 269s traceback 269s -i INPUT, --input=INPUT 269s read from INPUT in po, pot formats 269s -x EXCLUDE, --exclude=EXCLUDE 269s exclude names matching EXCLUDE from input paths 269s -o OUTPUT, --output=OUTPUT 269s write to OUTPUT in lang format 269s -t TEMPLATE, --template=TEMPLATE 269s read from TEMPLATE in lang format 269s -S, --timestamp skip conversion if the output file has newer timestamp 269s --mark-active mark the file as active 269s --threshold=PERCENT only convert files where the translation completion is 269s above PERCENT 269s --fuzzy use translations marked fuzzy 269s --nofuzzy don't use translations marked fuzzy (default) 269s ========= SMOKE TEST: /usr/bin/po2odf =========== 270s Usage: po2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 270s 270s Convert Gettext PO localization files to OpenDocument (ODF) files. This 270s converter combines the functionality of po2xliff and xliff2odf to provide a 270s direct conversion from PO files to ODF files. See: 270s http://docs.translatehouse.org/projects/translate-toolkit/en/latest/commands/ 270s for examples and usage instructions. 270s 270s Options: 270s --version show program's version number and exit 270s -h, --help show this help message and exit 270s --manpage output a manpage based on the help 270s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 270s --errorlevel=ERRORLEVEL 270s show errorlevel as: none, message, exception, 270s traceback 270s -i INPUT, --input=INPUT 270s read from INPUT in po, pot formats 270s -x EXCLUDE, --exclude=EXCLUDE 270s exclude names matching EXCLUDE from input paths 270s -o OUTPUT, --output=OUTPUT 270s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 270s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 270s -t TEMPLATE, --template=TEMPLATE 270s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 270s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 270s formats 270s -S, --timestamp skip conversion if the output file has newer timestamp 270s ========= SMOKE TEST: /usr/bin/po2oo =========== 270s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 270s 270s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 270s file. See: http://docs.translatehouse.org/projects/translate- 270s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 270s 270s Options: 270s --version show program's version number and exit 270s -h, --help show this help message and exit 270s --manpage output a manpage based on the help 270s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 270s --errorlevel=ERRORLEVEL 270s show errorlevel as: none, message, exception, 270s traceback 270s -i INPUT, --input=INPUT 270s read from INPUT in po, pot, xlf, xliff formats 270s -x EXCLUDE, --exclude=EXCLUDE 270s exclude names matching EXCLUDE from input paths 270s -o OUTPUT, --output=OUTPUT 270s write to OUTPUT in oo, sdf formats 270s -t TEMPLATE, --template=TEMPLATE 270s read from TEMPLATE in oo, sdf formats 270s -S, --timestamp skip conversion if the output file has newer timestamp 270s -l LANG, --language=LANG 270s set target language code (e.g. af-ZA) [required] 270s --source-language=LANG 270s set source language code (default en-US) 270s -T, --keeptimestamp don't change the timestamps of the strings 270s --nonrecursiveoutput don't treat the output oo as a recursive store 270s --nonrecursivetemplate 270s don't treat the template oo as a recursive store 270s --skipsource don't output the source language, but fallback to it 270s where needed 270s --filteraction=ACTION 270s action on pofilter failure: none (default), warn, 270s exclude-serious, exclude-all 270s --threshold=PERCENT only convert files where the translation completion is 270s above PERCENT 270s --fuzzy use translations marked fuzzy 270s --nofuzzy don't use translations marked fuzzy (default) 270s --multifile=MULTIFILESTYLE 270s how to split po/pot files (single, toplevel or 270s onefile) 270s ========= SMOKE TEST: /usr/bin/po2php =========== 270s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 270s 270s Convert Gettext PO localization files to PHP localization files. See: 270s http://docs.translatehouse.org/projects/translate- 270s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 270s 270s Options: 270s --version show program's version number and exit 270s -h, --help show this help message and exit 270s --manpage output a manpage based on the help 270s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 270s --errorlevel=ERRORLEVEL 270s show errorlevel as: none, message, exception, 270s traceback 270s -i INPUT, --input=INPUT 270s read from INPUT in po, pot formats 270s -x EXCLUDE, --exclude=EXCLUDE 270s exclude names matching EXCLUDE from input paths 270s -o OUTPUT, --output=OUTPUT 270s write to OUTPUT in html, php formats 270s -t TEMPLATE, --template=TEMPLATE 270s read from TEMPLATE in html, php formats 270s -S, --timestamp skip conversion if the output file has newer timestamp 270s --threshold=PERCENT only convert files where the translation completion is 270s above PERCENT 270s --fuzzy use translations marked fuzzy 270s --nofuzzy don't use translations marked fuzzy (default) 271s ========= SMOKE TEST: /usr/bin/po2prop =========== 271s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 271s 271s Convert Gettext PO localization files to Java/Mozilla .properties files. 271s See: http://docs.translatehouse.org/projects/translate- 271s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 271s 271s Options: 271s --version show program's version number and exit 271s -h, --help show this help message and exit 271s --manpage output a manpage based on the help 271s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 271s --errorlevel=ERRORLEVEL 271s show errorlevel as: none, message, exception, 271s traceback 271s -i INPUT, --input=INPUT 271s read from INPUT in po, pot formats 271s -x EXCLUDE, --exclude=EXCLUDE 271s exclude names matching EXCLUDE from input paths 271s -o OUTPUT, --output=OUTPUT 271s write to OUTPUT in lang, properties, strings formats 271s -t TEMPLATE, --template=TEMPLATE 271s read from TEMPLATE in lang, properties, strings 271s formats 271s -S, --timestamp skip conversion if the output file has newer timestamp 271s --personality=TYPE override the input file format: java, java-utf8, java- 271s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 271s strings, strings-utf8, joomla (for .properties files, 271s default: java) 271s --encoding=ENCODING override the encoding set by the personality 271s --threshold=PERCENT only convert files where the translation completion is 271s above PERCENT 271s --fuzzy use translations marked fuzzy 271s --nofuzzy don't use translations marked fuzzy (default) 271s --removeuntranslated remove untranslated strings from output 271s ========= SMOKE TEST: /usr/bin/po2rc =========== 272s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 272s 272s Convert Gettext PO localization files back to Windows Resource (.rc) files. 272s See: http://docs.translatehouse.org/projects/translate- 272s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 272s 272s Options: 272s --version show program's version number and exit 272s -h, --help show this help message and exit 272s --manpage output a manpage based on the help 272s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 272s --errorlevel=ERRORLEVEL 272s show errorlevel as: none, message, exception, 272s traceback 272s -i INPUT, --input=INPUT 272s read from INPUT in po, pot formats 272s -x EXCLUDE, --exclude=EXCLUDE 272s exclude names matching EXCLUDE from input paths 272s -o OUTPUT, --output=OUTPUT 272s write to OUTPUT in rc format 272s -t TEMPLATE, --template=TEMPLATE 272s read from TEMPLATE in rc format 272s -S, --timestamp skip conversion if the output file has newer timestamp 272s --charset=CHARSET charset to use to decode the template RC files 272s (default: utf-8) 272s --charset-output=CHARSET 272s charset to use to encode the RC file (default: auto) 272s -l LANG, --lang=LANG LANG entry 272s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 272s --threshold=PERCENT only convert files where the translation completion is 272s above PERCENT 272s --fuzzy use translations marked fuzzy 272s --nofuzzy don't use translations marked fuzzy (default) 273s ========= SMOKE TEST: /usr/bin/po2resx =========== 273s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 273s 273s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 273s http://docs.translatehouse.org/projects/translate- 273s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 273s 273s Options: 273s --version show program's version number and exit 273s -h, --help show this help message and exit 273s --manpage output a manpage based on the help 273s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 273s --errorlevel=ERRORLEVEL 273s show errorlevel as: none, message, exception, 273s traceback 273s -i INPUT, --input=INPUT 273s read from INPUT in po, pot formats 273s -x EXCLUDE, --exclude=EXCLUDE 273s exclude names matching EXCLUDE from input paths 273s -o OUTPUT, --output=OUTPUT 273s write to OUTPUT in resx format 273s -t TEMPLATE, --template=TEMPLATE 273s read from TEMPLATE in resx format 273s -S, --timestamp skip conversion if the output file has newer timestamp 273s --fuzzy use translations marked fuzzy 273s --nofuzzy don't use translations marked fuzzy (default) 273s ========= SMOKE TEST: /usr/bin/po2sub =========== 274s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 274s 274s Convert Gettext PO localization files to subtitle files. See: 274s http://docs.translatehouse.org/projects/translate- 274s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 274s 274s Options: 274s --version show program's version number and exit 274s -h, --help show this help message and exit 274s --manpage output a manpage based on the help 274s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 274s --errorlevel=ERRORLEVEL 274s show errorlevel as: none, message, exception, 274s traceback 274s -i INPUT, --input=INPUT 274s read from INPUT in po, pot formats 274s -x EXCLUDE, --exclude=EXCLUDE 274s exclude names matching EXCLUDE from input paths 274s -o OUTPUT, --output=OUTPUT 274s write to OUTPUT in ass, srt, ssa, sub formats 274s -t TEMPLATE, --template=TEMPLATE 274s read from TEMPLATE in ass, srt, ssa, sub formats 274s -S, --timestamp skip conversion if the output file has newer timestamp 274s --threshold=PERCENT only convert files where the translation completion is 274s above PERCENT 274s --fuzzy use translations marked fuzzy 274s --nofuzzy don't use translations marked fuzzy (default) 274s ========= SMOKE TEST: /usr/bin/po2symb =========== 274s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 274s 274s Convert Gettext PO localization files to Symbian translation files. See: 274s http://docs.translatehouse.org/projects/translate- 274s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 274s 274s Options: 274s --version show program's version number and exit 274s -h, --help show this help message and exit 274s --manpage output a manpage based on the help 274s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 274s --errorlevel=ERRORLEVEL 274s show errorlevel as: none, message, exception, 274s traceback 274s -i INPUT, --input=INPUT 274s read from INPUT in po, pot formats 274s -x EXCLUDE, --exclude=EXCLUDE 274s exclude names matching EXCLUDE from input paths 274s -o OUTPUT, --output=OUTPUT 274s write to OUTPUT in r0 format 274s -t TEMPLATE, --template=TEMPLATE 274s read from TEMPLATE in 274s -S, --timestamp skip conversion if the output file has newer timestamp 274s --duplicates=DUPLICATESTYLE 274s what to do with duplicate strings (identical source 274s text): merge, msgctxt (default: 'msgctxt') 274s ========= SMOKE TEST: /usr/bin/po2tiki =========== 274s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 274s 274s Convert Gettext PO files to TikiWiki's language.php files. See: 274s http://docs.translatehouse.org/projects/translate- 274s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 274s 274s Options: 274s --version show program's version number and exit 274s -h, --help show this help message and exit 274s --manpage output a manpage based on the help 274s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 274s --errorlevel=ERRORLEVEL 274s show errorlevel as: none, message, exception, 274s traceback 274s -i INPUT, --input=INPUT 274s read from INPUT in po, pot formats 274s -x EXCLUDE, --exclude=EXCLUDE 274s exclude names matching EXCLUDE from input paths 274s -o OUTPUT, --output=OUTPUT 274s write to OUTPUT in tiki format 274s -S, --timestamp skip conversion if the output file has newer timestamp 275s ========= SMOKE TEST: /usr/bin/po2tmx =========== 275s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 275s 275s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 275s file. See: http://docs.translatehouse.org/projects/translate- 275s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 275s 275s Options: 275s --version show program's version number and exit 275s -h, --help show this help message and exit 275s --manpage output a manpage based on the help 275s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 275s --errorlevel=ERRORLEVEL 275s show errorlevel as: none, message, exception, 275s traceback 275s -i INPUT, --input=INPUT 275s read from INPUT in po, pot formats 275s -x EXCLUDE, --exclude=EXCLUDE 275s exclude names matching EXCLUDE from input paths 275s -o OUTPUT, --output=OUTPUT 275s write to OUTPUT in tmx format 275s -S, --timestamp skip conversion if the output file has newer timestamp 275s -l LANG, --language=LANG 275s set target language code (e.g. af-ZA) [required] 275s --source-language=LANG 275s set source language code (default: en) 275s --comments=COMMENT set default comment import: none, source, type or 275s others (default: none) 276s ========= SMOKE TEST: /usr/bin/po2toml =========== 276s Usage: po2toml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 276s 276s Convert Gettext PO localization files to TOML files. See: 276s http://docs.translatehouse.org/projects/translate- 276s toolkit/en/latest/commands/toml2po.html for examples and usage instructions. 276s 276s Options: 276s --version show program's version number and exit 276s -h, --help show this help message and exit 276s --manpage output a manpage based on the help 276s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 276s --errorlevel=ERRORLEVEL 276s show errorlevel as: none, message, exception, 276s traceback 276s -i INPUT, --input=INPUT 276s read from INPUT in po, pot formats 276s -x EXCLUDE, --exclude=EXCLUDE 276s exclude names matching EXCLUDE from input paths 276s -o OUTPUT, --output=OUTPUT 276s write to OUTPUT in toml format 276s -t TEMPLATE, --template=TEMPLATE 276s read from TEMPLATE in toml format 276s -S, --timestamp skip conversion if the output file has newer timestamp 276s --threshold=PERCENT only convert files where the translation completion is 276s above PERCENT 276s --fuzzy use translations marked fuzzy 276s --nofuzzy don't use translations marked fuzzy (default) 276s ========= SMOKE TEST: /usr/bin/po2ts =========== 276s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 276s 276s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 276s http://docs.translatehouse.org/projects/translate- 276s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 276s 276s Options: 276s --version show program's version number and exit 276s -h, --help show this help message and exit 276s --manpage output a manpage based on the help 276s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 276s --errorlevel=ERRORLEVEL 276s show errorlevel as: none, message, exception, 276s traceback 276s -i INPUT, --input=INPUT 276s read from INPUT in po, pot formats 276s -x EXCLUDE, --exclude=EXCLUDE 276s exclude names matching EXCLUDE from input paths 276s -o OUTPUT, --output=OUTPUT 276s write to OUTPUT in ts format 276s -t TEMPLATE, --template=TEMPLATE 276s read from TEMPLATE in ts format 276s -S, --timestamp skip conversion if the output file has newer timestamp 276s -c CONTEXT, --context=CONTEXT 276s use supplied context instead of the one in the .po 276s file comment 277s ========= SMOKE TEST: /usr/bin/po2txt =========== 277s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 277s 277s Convert Gettext PO localization files to plain text (.txt) files. See: 277s http://docs.translatehouse.org/projects/translate- 277s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 277s 277s Options: 277s --version show program's version number and exit 277s -h, --help show this help message and exit 277s --manpage output a manpage based on the help 277s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 277s --errorlevel=ERRORLEVEL 277s show errorlevel as: none, message, exception, 277s traceback 277s -i INPUT, --input=INPUT 277s read from INPUT in po, pot, xlf, xliff formats 277s -x EXCLUDE, --exclude=EXCLUDE 277s exclude names matching EXCLUDE from input paths 277s -o OUTPUT, --output=OUTPUT 277s write to OUTPUT in txt format 277s -t TEMPLATE, --template=TEMPLATE 277s read from TEMPLATE in txt format 277s -S, --timestamp skip conversion if the output file has newer timestamp 277s --encoding=ENCODING The encoding of the template file (default: UTF-8) 277s -w WRAP, --wrap=WRAP set number of columns to wrap text at 277s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 277s mediawiki 277s --no-segmentation Don't segment the file, treat it like a single message 277s --threshold=PERCENT only convert files where the translation completion is 277s above PERCENT 277s --fuzzy use translations marked fuzzy 277s --nofuzzy don't use translations marked fuzzy (default) 277s ========= SMOKE TEST: /usr/bin/po2web2py =========== 277s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 277s 277s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 277s http://docs.translatehouse.org/projects/translate- 277s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 277s 277s Options: 277s --version show program's version number and exit 277s -h, --help show this help message and exit 277s --manpage output a manpage based on the help 277s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 277s --errorlevel=ERRORLEVEL 277s show errorlevel as: none, message, exception, 277s traceback 277s -i INPUT, --input=INPUT 277s read from INPUT in po, pot formats 277s -x EXCLUDE, --exclude=EXCLUDE 277s exclude names matching EXCLUDE from input paths 277s -o OUTPUT, --output=OUTPUT 277s write to OUTPUT in py format 277s -S, --timestamp skip conversion if the output file has newer timestamp 277s --threshold=PERCENT only convert files where the translation completion is 277s above PERCENT 277s --fuzzy use translations marked fuzzy 277s --nofuzzy don't use translations marked fuzzy (default) 277s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 277s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 277s 277s Convert Gettext PO localization files to a Wordfast translation memory file. 277s See: http://docs.translatehouse.org/projects/translate- 277s toolkit/en/latest/commands/po2wordfast.html for examples and usage 277s instructions. 277s 277s Options: 277s --version show program's version number and exit 277s -h, --help show this help message and exit 277s --manpage output a manpage based on the help 277s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 277s --errorlevel=ERRORLEVEL 277s show errorlevel as: none, message, exception, 277s traceback 277s -i INPUT, --input=INPUT 277s read from INPUT in po, pot formats 277s -x EXCLUDE, --exclude=EXCLUDE 277s exclude names matching EXCLUDE from input paths 277s -o OUTPUT, --output=OUTPUT 277s write to OUTPUT in txt format 277s -S, --timestamp skip conversion if the output file has newer timestamp 277s -l LANG, --language=LANG 277s set target language code (e.g. af-ZA) [required] 277s --source-language=LANG 277s set source language code (default: en) 277s ========= SMOKE TEST: /usr/bin/po2xliff =========== 278s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 278s 278s Convert Gettext PO localization files to XLIFF localization files. See: 278s http://docs.translatehouse.org/projects/translate- 278s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 278s 278s Options: 278s --version show program's version number and exit 278s -h, --help show this help message and exit 278s --manpage output a manpage based on the help 278s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 278s --errorlevel=ERRORLEVEL 278s show errorlevel as: none, message, exception, 278s traceback 278s -i INPUT, --input=INPUT 278s read from INPUT in po, pot formats 278s -x EXCLUDE, --exclude=EXCLUDE 278s exclude names matching EXCLUDE from input paths 278s -o OUTPUT, --output=OUTPUT 278s write to OUTPUT in xlf, xliff formats 278s -t TEMPLATE, --template=TEMPLATE 278s read from TEMPLATE in xlf, xliff formats 278s -S, --timestamp skip conversion if the output file has newer timestamp 279s ========= SMOKE TEST: /usr/bin/po2yaml =========== 279s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 279s 279s Convert Gettext PO localization files to YAML files. See: 279s http://docs.translatehouse.org/projects/translate- 279s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 279s 279s Options: 279s --version show program's version number and exit 279s -h, --help show this help message and exit 279s --manpage output a manpage based on the help 279s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 279s --errorlevel=ERRORLEVEL 279s show errorlevel as: none, message, exception, 279s traceback 279s -i INPUT, --input=INPUT 279s read from INPUT in po, pot formats 279s -x EXCLUDE, --exclude=EXCLUDE 279s exclude names matching EXCLUDE from input paths 279s -o OUTPUT, --output=OUTPUT 279s write to OUTPUT in yaml, yml formats 279s -t TEMPLATE, --template=TEMPLATE 279s read from TEMPLATE in yaml, yml formats 279s -S, --timestamp skip conversion if the output file has newer timestamp 279s --threshold=PERCENT only convert files where the translation completion is 279s above PERCENT 279s --fuzzy use translations marked fuzzy 279s --nofuzzy don't use translations marked fuzzy (default) 279s ========= SMOKE TEST: /usr/bin/poclean =========== 279s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 279s 279s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 279s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 279s produces the target file with only the target text in from a text version of 279s the RTF. 279s 279s Options: 279s --version show program's version number and exit 279s -h, --help show this help message and exit 279s --manpage output a manpage based on the help 279s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 279s --errorlevel=ERRORLEVEL 279s show errorlevel as: none, message, exception, 279s traceback 279s -i INPUT, --input=INPUT 279s read from INPUT in po, pot, xlf, xliff formats 279s -x EXCLUDE, --exclude=EXCLUDE 279s exclude names matching EXCLUDE from input paths 279s -o OUTPUT, --output=OUTPUT 279s write to OUTPUT in po, pot, xlf, xliff formats 279s -S, --timestamp skip conversion if the output file has newer timestamp 279s ========= SMOKE TEST: /usr/bin/pocompendium =========== 279s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 279s The first parameter is the output file, standard output if the output file is '-'. 279s Any number of directories may be specified for input files. 279s Options: 279s --invert|v Creates an inverse compendium with msgid and msgstr swapped 279s --errors|e Only output msg bundles that have errors 279s --correct|c Only output msg bundles that are correctly translated 279s --ignore-case|i Drops all strings to lowercase 279s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 279s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 279s --strip-accel-under|-su Strip all underscore (_) accelerator characters 279s ========= SMOKE TEST: /usr/bin/pocompile =========== 279s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 279s 279s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 279s Object) files. See: http://docs.translatehouse.org/projects/translate- 279s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 279s 279s Options: 279s --version show program's version number and exit 279s -h, --help show this help message and exit 279s --manpage output a manpage based on the help 279s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 279s --errorlevel=ERRORLEVEL 279s show errorlevel as: none, message, exception, 279s traceback 279s -i INPUT, --input=INPUT 279s read from INPUT in po, pot, xlf, xliff formats 279s -x EXCLUDE, --exclude=EXCLUDE 279s exclude names matching EXCLUDE from input paths 279s -o OUTPUT, --output=OUTPUT 279s write to OUTPUT in mo format 279s -S, --timestamp skip conversion if the output file has newer timestamp 279s --fuzzy use translations marked fuzzy 279s --nofuzzy don't use translations marked fuzzy (default) 280s ========= SMOKE TEST: /usr/bin/poconflicts =========== 280s Usage: poconflicts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-x|--exclude EXCLUDE] [-i|--input] INPUT [-o|--output] OUTPUT [-I|--ignore-case] [-v|--invert] [--accelerator ACCELERATORS] 280s poconflicts [options] 280s poconflicts [options] ... 280s 280s Input is searched for PO files, output directory will contain PO files named after conflicting strings. 280s Both -i/--input and -o/--output are optional when using positional arguments. 280s 280s Conflict finder for Gettext PO localization files. See: 280s http://docs.translatehouse.org/projects/translate- 280s toolkit/en/latest/commands/poconflicts.html for examples and usage 280s instructions. 280s 280s Options: 280s --version show program's version number and exit 280s -h, --help show this help message and exit 280s --manpage output a manpage based on the help 280s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 280s --errorlevel=ERRORLEVEL 280s show errorlevel as: none, message, exception, 280s traceback 280s -x EXCLUDE, --exclude=EXCLUDE 280s exclude names matching EXCLUDE from input paths 280s -i INPUT, --input=INPUT 280s read from INPUT (directory or file(s)) in po format 280s -o OUTPUT, --output=OUTPUT 280s write to OUTPUT (directory) in po format 280s -I, --ignore-case ignore case distinctions 280s -v, --invert invert the conflicts thus extracting conflicting 280s destination words 280s --accelerator=ACCELERATORS 280s ignores the given accelerator characters when matching 280s ========= SMOKE TEST: /usr/bin/pocount =========== 281s usage: pocount [-h] [--incomplete] [--full | --csv | --short | 281s --short-strings | --short-words] [--no-color] 281s files [files ...] 281s 281s positional arguments: 281s files 281s 281s options: 281s -h, --help show this help message and exit 281s --incomplete skip 100% translated files. 281s 281s Output format: 281s --full (default) statistics in full, verbose format 281s --csv statistics in CSV format 281s --short same as --short-strings 281s --short-strings statistics of strings in short format - one line per file 281s --short-words statistics of words in short format - one line per file 281s --no-color show output without color 281s ========= SMOKE TEST: /usr/bin/podebug =========== 281s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 281s 281s Insert debug messages into XLIFF and Gettext PO localization files. See: 281s http://docs.translatehouse.org/projects/translate- 281s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 281s 281s Options: 281s --version show program's version number and exit 281s -h, --help show this help message and exit 281s --manpage output a manpage based on the help 281s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 281s --errorlevel=ERRORLEVEL 281s show errorlevel as: none, message, exception, 281s traceback 281s -i INPUT, --input=INPUT 281s read from INPUT in po, pot, pot, tmx, xlf, xliff 281s formats 281s -x EXCLUDE, --exclude=EXCLUDE 281s exclude names matching EXCLUDE from input paths 281s -o OUTPUT, --output=OUTPUT 281s write to OUTPUT in po, pot, tmx, xlf, xliff formats 281s -S, --timestamp skip conversion if the output file has newer timestamp 281s -f FORMAT, --format=FORMAT 281s specify format string 281s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 281s classified, en, flipped, unicode, xxx 281s --ignore=APPLICATION apply tagging ignore rules for the given application: 281s gtk, kde, libreoffice, mozilla, openoffice 281s --preserveplaceholders 281s attempt to exclude characters that are part of 281s placeholders when performing character-level rewrites 281s so that consuming applications can still use the 281s placeholders to generate final output 281s ========= SMOKE TEST: /usr/bin/pofilter =========== 282s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 282s 282s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 282s Snippet files are created whenever a test fails. These can be examined, 282s corrected and merged back into the originals using pomerge. See: 282s http://docs.translatehouse.org/projects/translate- 282s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 282s and http://docs.translatehouse.org/projects/translate- 282s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 282s tests. 282s 282s Options: 282s --version show program's version number and exit 282s -h, --help show this help message and exit 282s --manpage output a manpage based on the help 282s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 282s --errorlevel=ERRORLEVEL 282s show errorlevel as: none, message, exception, 282s traceback 282s -i INPUT, --input=INPUT 282s read from INPUT in po, pot, tmx, xlf, xliff formats 282s -x EXCLUDE, --exclude=EXCLUDE 282s exclude names matching EXCLUDE from input paths 282s -o OUTPUT, --output=OUTPUT 282s write to OUTPUT in po, pot, tmx, xlf, xliff formats 282s -l, --listfilters list filters available 282s --review include units marked for review (default) 282s --noreview exclude units marked for review 282s --fuzzy include units marked fuzzy (default) 282s --nofuzzy exclude units marked fuzzy 282s --nonotes don't add notes about the errors 282s --autocorrect output automatic corrections where possible rather 282s than describing issues 282s --language=LANG set target language code (e.g. af-ZA) [required for 282s spell check and recommended in general] 282s --openoffice use the standard checks for OpenOffice translations 282s --libreoffice use the standard checks for LibreOffice translations 282s --mozilla use the standard checks for Mozilla translations 282s --drupal use the standard checks for Drupal translations 282s --gnome use the standard checks for Gnome translations 282s --kde use the standard checks for KDE translations 282s --wx use the standard checks for wxWidgets translations 282s --excludefilter=FILTER 282s don't use FILTER when filtering 282s -t FILTER, --test=FILTER 282s only use test FILTERs specified with this option when 282s filtering 282s --notranslatefile=FILE 282s read list of untranslatable words from FILE (must not 282s be translated) 282s --musttranslatefile=FILE 282s read list of translatable words from FILE (must be 282s translated) 282s --validcharsfile=FILE 282s read list of all valid characters from FILE (must be 282s in UTF-8) 283s ========= SMOKE TEST: /usr/bin/pogrep =========== 283s 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] 283s 283s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 283s snippet files of the same type which can then be reviewed and later merged 283s using :doc:`pomerge `. See: 283s http://docs.translatehouse.org/projects/translate- 283s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 283s 283s Options: 283s --version show program's version number and exit 283s -h, --help show this help message and exit 283s --manpage output a manpage based on the help 283s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 283s --errorlevel=ERRORLEVEL 283s show errorlevel as: none, message, exception, 283s traceback 283s -i INPUT, --input=INPUT 283s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 283s xliff formats 283s -x EXCLUDE, --exclude=EXCLUDE 283s exclude names matching EXCLUDE from input paths 283s -o OUTPUT, --output=OUTPUT 283s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 283s xliff formats 283s --search=SEARCHPARTS searches the given parts (source, target, notes and 283s locations) 283s -I, --ignore-case ignore case distinctions 283s -e, --regexp use regular expression matching 283s -v, --invert-match select non-matching lines 283s --accelerator=ACCELERATOR 283s ignores the given accelerator when matching 283s -k, --keep-translations 283s always extract units with translations 283s ========= SMOKE TEST: /usr/bin/pomerge =========== 284s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 284s 284s Merges XLIFF and Gettext PO localization files. Snippet file produced by 284s e.g. :doc:`pogrep ` and updated by a translator can be 284s merged back into the original files. See: 284s http://docs.translatehouse.org/projects/translate- 284s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 284s 284s Options: 284s --version show program's version number and exit 284s -h, --help show this help message and exit 284s --manpage output a manpage based on the help 284s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 284s --errorlevel=ERRORLEVEL 284s show errorlevel as: none, message, exception, 284s traceback 284s -i INPUT, --input=INPUT 284s read from INPUT in po, pot, pot, xlf, xliff formats 284s -x EXCLUDE, --exclude=EXCLUDE 284s exclude names matching EXCLUDE from input paths 284s -o OUTPUT, --output=OUTPUT 284s write to OUTPUT in po, pot, pot, xlf, xliff formats 284s -t TEMPLATE, --template=TEMPLATE 284s read from TEMPLATE in po, pot, pot, xlf, xliff formats 284s -S, --timestamp skip conversion if the output file has newer timestamp 284s --mergeblanks=MERGEBLANKS 284s whether to overwrite existing translations with blank 284s translations (yes/no). Default is yes. 284s --mergefuzzy=MERGEFUZZY 284s whether to consider fuzzy translations from input 284s (yes/no). Default is yes. 284s --mergecomments=MERGECOMMENTS 284s whether to merge comments as well as translations 284s (yes/no). Default is yes. 284s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 284s Usage pomigrate2 [options] 284s 284s Options: 284s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 284s -C|--use-compendium - create and use a compendium built from the migrating files 284s -C|--use-compendium=some-compendium.po 284s - use an external compendium during the migration 284s --no-wrap - do not wrap long lines 284s --locale=lang - set locale for newly born files 284s -q|--quiet - suppress most output 284s -p|--pot2po - use pot2po instead of msgmerge to migrate 284s ========= SMOKE TEST: /usr/bin/popuretext =========== 284s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 284s ========= SMOKE TEST: /usr/bin/poreencode =========== 284s Usage: poreencode 284s eg: poreencode UTF-8 af/ 284s ========= SMOKE TEST: /usr/bin/porestructure =========== 284s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 284s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 284s 284s Restructure Gettxt PO files produced by :doc:`poconflicts 284s ` into the original directory tree for merging using 284s :doc:`pomerge `. See: 284s http://docs.translatehouse.org/projects/translate- 284s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 284s 284s Options: 284s --version show program's version number and exit 284s -h, --help show this help message and exit 284s --manpage output a manpage based on the help 284s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 284s --errorlevel=ERRORLEVEL 284s show errorlevel as: none, message, exception, 284s traceback 284s -i INPUT, --input=INPUT 284s read from INPUT in po format 284s -x EXCLUDE, --exclude=EXCLUDE 284s exclude names matching EXCLUDE from input paths 284s -o OUTPUT, --output=OUTPUT 284s write to OUTPUT in po format 284s ========= SMOKE TEST: /usr/bin/posegment =========== 284s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 284s 284s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 284s See: http://docs.translatehouse.org/projects/translate- 284s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 284s 284s Options: 284s --version show program's version number and exit 284s -h, --help show this help message and exit 284s --manpage output a manpage based on the help 284s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 284s --errorlevel=ERRORLEVEL 284s show errorlevel as: none, message, exception, 284s traceback 284s -i INPUT, --input=INPUT 284s read from INPUT in po, pot, tmx, xlf, xliff formats 284s -x EXCLUDE, --exclude=EXCLUDE 284s exclude names matching EXCLUDE from input paths 284s -o OUTPUT, --output=OUTPUT 284s write to OUTPUT in po, pot, tmx, xlf, xliff formats 284s -S, --timestamp skip conversion if the output file has newer timestamp 284s -P, --pot output PO Templates (.pot) rather than PO files (.po) 284s -l LANG, --language=LANG 284s the target language code 284s --source-language=LANG 284s the source language code (default 'en') 284s --keepspaces Disable automatic stripping of whitespace 284s --only-aligned Removes units where sentence number does not 284s correspond 285s ========= SMOKE TEST: /usr/bin/poswap =========== 285s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 285s 285s Builds a new translation file with the target of the input language as source 285s language. .. note:: Ensure that the two po files correspond 100% to the same 285s pot file before using this. To translate Kurdish (ku) through French:: 285s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 285s poswap --reverse -i fr/ -t fr-ku -o en-ku To translate Quechua (qu) through 285s Spanish (es) using intermediate mode:: poswap --intermediate -t en/ es/ 285s es-qu/ Intermediate mode keeps the original source language (English) and 285s adds the intermediate language translation (Spanish) as a translator comment, 285s making it easier to translate through an intermediate language while keeping 285s both languages visible. See: 285s http://docs.translatehouse.org/projects/translate- 285s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 285s 285s Options: 285s --version show program's version number and exit 285s -h, --help show this help message and exit 285s --manpage output a manpage based on the help 285s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 285s --errorlevel=ERRORLEVEL 285s show errorlevel as: none, message, exception, 285s traceback 285s -i INPUT, --input=INPUT 285s read from INPUT in po, pot formats 285s -x EXCLUDE, --exclude=EXCLUDE 285s exclude names matching EXCLUDE from input paths 285s -o OUTPUT, --output=OUTPUT 285s write to OUTPUT in po, pot formats 285s -t TEMPLATE, --template=TEMPLATE 285s read from TEMPLATE in po, pot, pot formats 285s -S, --timestamp skip conversion if the output file has newer timestamp 285s --reverse reverse the process of intermediate language 285s conversion 285s --intermediate use intermediate language mode: keep original source 285s and add target as translator comment 286s ========= SMOKE TEST: /usr/bin/pot2po =========== 286s 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] 286s 286s Convert template files (like .pot or template .xlf files) to translation 286s files, preserving existing translations. See: 286s http://docs.translatehouse.org/projects/translate- 286s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 286s 286s Options: 286s --version show program's version number and exit 286s -h, --help show this help message and exit 286s --manpage output a manpage based on the help 286s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 286s --errorlevel=ERRORLEVEL 286s show errorlevel as: none, message, exception, 286s traceback 286s -i INPUT, --input=INPUT 286s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 286s formats 286s -x EXCLUDE, --exclude=EXCLUDE 286s exclude names matching EXCLUDE from input paths 286s -o OUTPUT, --output=OUTPUT 286s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 286s xliff formats 286s -t TEMPLATE, --template=TEMPLATE 286s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 286s xliff formats 286s -S, --timestamp skip conversion if the output file has newer timestamp 286s -P, --pot output PO Templates (.pot) rather than PO files (.po) 286s --tm=TM The file to use as translation memory when fuzzy 286s matching 286s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 286s The minimum similarity for inclusion (default: 75%) 286s --nofuzzymatching Disable fuzzy matching 286s ========= SMOKE TEST: /usr/bin/poterminology =========== 287s 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] 287s input directory is searched for PO files, terminology PO file is output file 287s 287s Create a terminology file by reading a set of .po or .pot files to produce a 287s pootle-terminology.pot. See: 287s http://docs.translatehouse.org/projects/translate- 287s toolkit/en/latest/commands/poterminology.html for examples and usage 287s instructions. 287s 287s Options: 287s --version show program's version number and exit 287s -h, --help show this help message and exit 287s --manpage output a manpage based on the help 287s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 287s --errorlevel=ERRORLEVEL 287s show errorlevel as: none, message, exception, 287s traceback 287s -i INPUT, --input=INPUT 287s read from INPUT in po, pot formats 287s -x EXCLUDE, --exclude=EXCLUDE 287s exclude names matching EXCLUDE from input paths 287s -o OUTPUT, --output=OUTPUT 287s write to OUTPUT in po, pot formats 287s -u UPDATEFILE, --update=UPDATEFILE 287s update terminology in UPDATEFILE 287s -S STOPFILE, --stopword-list=STOPFILE 287s read stopword (term exclusion) list from STOPFILE 287s (default /usr/lib/python3/dist- 287s packages/translate/share/stoplist-en) 287s -F, --fold-titlecase fold "Title Case" to lowercase (default) 287s -C, --preserve-case preserve all uppercase/lowercase 287s -I, --ignore-case make all terms lowercase 287s --accelerator=ACCELERATORS 287s ignore the given accelerator characters when matching 287s -t LENGTH, --term-words=LENGTH 287s generate terms of up to LENGTH words (default 3) 287s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 287s 1) 287s --inputs-needed=MIN omit terms appearing in less than MIN input files 287s (default 2, or 1 if only one input file) 287s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 287s different messages (default 1) 287s --substr-needed=MIN omit substring-only terms appearing in less than MIN 287s different messages (default 2) 287s --locs-needed=MIN omit terms appearing in less than MIN different 287s original source files (default 2) 287s --sort=ORDER output sort order(s): frequency, dictionary, length 287s (may repeat option, default is all in above order) 287s --source-language=LANG 287s the source language code (default 'en') 287s -v, --invert invert the source and target languages for terminology 287s ========= SMOKE TEST: /usr/bin/pretranslate =========== 288s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 288s 288s Fill localization files with suggested translations based on translation 288s memory and existing translations. See: 288s http://docs.translatehouse.org/projects/translate- 288s toolkit/en/latest/commands/pretranslate.html for examples and usage 288s instructions. 288s 288s Options: 288s --version show program's version number and exit 288s -h, --help show this help message and exit 288s --manpage output a manpage based on the help 288s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 288s --errorlevel=ERRORLEVEL 288s show errorlevel as: none, message, exception, 288s traceback 288s -i INPUT, --input=INPUT 288s read from INPUT in po, pot, pot, xlf, xliff formats 288s -x EXCLUDE, --exclude=EXCLUDE 288s exclude names matching EXCLUDE from input paths 288s -o OUTPUT, --output=OUTPUT 288s write to OUTPUT in po, pot, xlf, xliff formats 288s -t TEMPLATE, --template=TEMPLATE 288s read from TEMPLATE in po, pot, xlf, xliff formats 288s -S, --timestamp skip conversion if the output file has newer timestamp 288s --tm=TM The file to use as translation memory when fuzzy 288s matching 288s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 288s The minimum similarity for inclusion (default: 75%) 288s --nofuzzymatching Disable fuzzy matching 288s ========= SMOKE TEST: /usr/bin/prop2po =========== 288s 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] 288s 288s Convert Java/Mozilla .properties files to Gettext PO localization files. 288s See: http://docs.translatehouse.org/projects/translate- 288s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 288s 288s Options: 288s --version show program's version number and exit 288s -h, --help show this help message and exit 288s --manpage output a manpage based on the help 288s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 288s --errorlevel=ERRORLEVEL 288s show errorlevel as: none, message, exception, 288s traceback 288s -i INPUT, --input=INPUT 288s read from INPUT in lang, properties, strings formats 288s -x EXCLUDE, --exclude=EXCLUDE 288s exclude names matching EXCLUDE from input paths 288s -o OUTPUT, --output=OUTPUT 288s write to OUTPUT in po, pot formats 288s -t TEMPLATE, --template=TEMPLATE 288s read from TEMPLATE in lang, properties, strings 288s formats 288s -S, --timestamp skip conversion if the output file has newer timestamp 288s -P, --pot output PO Templates (.pot) rather than PO files (.po) 288s --personality=TYPE override the input file format: java, java-utf8, java- 288s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 288s strings, strings-utf8, joomla (for .properties files, 288s default: java) 288s --encoding=ENCODING override the encoding set by the personality 288s --duplicates=DUPLICATESTYLE 288s what to do with duplicate strings (identical source 288s text): merge, msgctxt (default: 'msgctxt') 289s ========= SMOKE TEST: /usr/bin/pydiff =========== 289s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 289s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 289s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 289s fromfile tofile 289s 289s positional arguments: 289s fromfile 289s tofile 289s 289s options: 289s -h, --help show this help message and exit 289s -i, --ignore-case Ignore case differences in file contents. 289s -U, --unified NUM Output NUM (default 3) lines of unified context 289s -r, --recursive Recursively compare any subdirectories found. 289s -N, --new-file Treat absent files as empty. 289s --unidirectional-new-file 289s Treat absent first files as empty. 289s -s, --report-identical-files 289s Report when two files are the same. 289s -x, --exclude PAT Exclude files that match PAT. 289s --fromcontains TEXT Only show changes where fromfile contains TEXT 289s --tocontains TEXT Only show changes where tofile contains TEXT 289s --contains TEXT Only show changes where fromfile or tofile contains 289s TEXT 289s -I, --ignore-case-contains 289s Ignore case differences when matching any of the 289s changes 289s --accelerator ACCELERATORS 289s ignores the given accelerator characters when matching 289s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 289s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 289s 289s Convert Python format .po files to PHP format .po files. 289s 289s Options: 289s --version show program's version number and exit 289s -h, --help show this help message and exit 289s --manpage output a manpage based on the help 289s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 289s --errorlevel=ERRORLEVEL 289s show errorlevel as: none, message, exception, 289s traceback 289s -i INPUT, --input=INPUT 289s read from INPUT in po, pot formats 289s -x EXCLUDE, --exclude=EXCLUDE 289s exclude names matching EXCLUDE from input paths 289s -o OUTPUT, --output=OUTPUT 289s write to OUTPUT in po, pot formats 289s -S, --timestamp skip conversion if the output file has newer timestamp 290s ========= SMOKE TEST: /usr/bin/rc2po =========== 290s 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] 290s 290s Convert Windows RC files to Gettext PO localization files. See: 290s http://docs.translatehouse.org/projects/translate- 290s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 290s 290s Options: 290s --version show program's version number and exit 290s -h, --help show this help message and exit 290s --manpage output a manpage based on the help 290s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 290s --errorlevel=ERRORLEVEL 290s show errorlevel as: none, message, exception, 290s traceback 290s -i INPUT, --input=INPUT 290s read from INPUT in nls, rc formats 290s -x EXCLUDE, --exclude=EXCLUDE 290s exclude names matching EXCLUDE from input paths 290s -o OUTPUT, --output=OUTPUT 290s write to OUTPUT in po, pot formats 290s -t TEMPLATE, --template=TEMPLATE 290s read from TEMPLATE in nls, rc formats 290s -S, --timestamp skip conversion if the output file has newer timestamp 290s -P, --pot output PO Templates (.pot) rather than PO files (.po) 290s --charset=CHARSET charset to use to decode the RC files (autodetection 290s is used by default) 290s -l LANG, --lang=LANG LANG entry (default: None) 290s --sublang=SUBLANG SUBLANG entry (default: None) 290s --duplicates=DUPLICATESTYLE 290s what to do with duplicate strings (identical source 290s text): merge, msgctxt (default: 'msgctxt') 290s ========= SMOKE TEST: /usr/bin/resx2po =========== 291s 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] 291s 291s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 291s http://docs.translatehouse.org/projects/translate- 291s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 291s 291s Options: 291s --version show program's version number and exit 291s -h, --help show this help message and exit 291s --manpage output a manpage based on the help 291s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 291s --errorlevel=ERRORLEVEL 291s show errorlevel as: none, message, exception, 291s traceback 291s -i INPUT, --input=INPUT 291s read from INPUT in resx format 291s -x EXCLUDE, --exclude=EXCLUDE 291s exclude names matching EXCLUDE from input paths 291s -o OUTPUT, --output=OUTPUT 291s write to OUTPUT in po, pot formats 291s -t TEMPLATE, --template=TEMPLATE 291s read from TEMPLATE in resx format 291s -S, --timestamp skip conversion if the output file has newer timestamp 291s -P, --pot output PO Templates (.pot) rather than PO files (.po) 291s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 291s everything) 291s --duplicates=DUPLICATESTYLE 291s what to do with duplicate strings (identical source 291s text): merge, msgctxt (default: 'msgctxt') 291s ========= SMOKE TEST: /usr/bin/sub2po =========== 292s 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] 292s 292s Convert subtitle files to Gettext PO localization files. See: 292s http://docs.translatehouse.org/projects/translate- 292s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 292s 292s Options: 292s --version show program's version number and exit 292s -h, --help show this help message and exit 292s --manpage output a manpage based on the help 292s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 292s --errorlevel=ERRORLEVEL 292s show errorlevel as: none, message, exception, 292s traceback 292s -i INPUT, --input=INPUT 292s read from INPUT in ass, srt, ssa, sub formats 292s -x EXCLUDE, --exclude=EXCLUDE 292s exclude names matching EXCLUDE from input paths 292s -o OUTPUT, --output=OUTPUT 292s write to OUTPUT in po, pot formats 292s -t TEMPLATE, --template=TEMPLATE 292s read from TEMPLATE in ass, srt, ssa, sub formats 292s -S, --timestamp skip conversion if the output file has newer timestamp 292s -P, --pot output PO Templates (.pot) rather than PO files (.po) 292s --duplicates=DUPLICATESTYLE 292s what to do with duplicate strings (identical source 292s text): merge, msgctxt (default: 'msgctxt') 292s ========= SMOKE TEST: /usr/bin/symb2po =========== 293s 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] 293s 293s Convert Symbian localisation files to Gettext PO localization files. See: 293s http://docs.translatehouse.org/projects/translate- 293s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 293s 293s Options: 293s --version show program's version number and exit 293s -h, --help show this help message and exit 293s --manpage output a manpage based on the help 293s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 293s --errorlevel=ERRORLEVEL 293s show errorlevel as: none, message, exception, 293s traceback 293s -i INPUT, --input=INPUT 293s read from INPUT in r01 format 293s -x EXCLUDE, --exclude=EXCLUDE 293s exclude names matching EXCLUDE from input paths 293s -o OUTPUT, --output=OUTPUT 293s write to OUTPUT in po, pot formats 293s -t TEMPLATE, --template=TEMPLATE 293s read from TEMPLATE in 293s -S, --timestamp skip conversion if the output file has newer timestamp 293s -P, --pot output PO Templates (.pot) rather than PO files (.po) 293s --duplicates=DUPLICATESTYLE 293s what to do with duplicate strings (identical source 293s text): merge, msgctxt (default: 'msgctxt') 293s ========= SMOKE TEST: /usr/bin/tbx2po =========== 293s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 293s 293s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 293s http://docs.translatehouse.org/projects/translate- 293s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 293s 293s Options: 293s --version show program's version number and exit 293s -h, --help show this help message and exit 293s --manpage output a manpage based on the help 293s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 293s --errorlevel=ERRORLEVEL 293s show errorlevel as: none, message, exception, 293s traceback 293s -i INPUT, --input=INPUT 293s read from INPUT in tbx format 293s -x EXCLUDE, --exclude=EXCLUDE 293s exclude names matching EXCLUDE from input paths 293s -o OUTPUT, --output=OUTPUT 293s write to OUTPUT in po, pot formats 293s -S, --timestamp skip conversion if the output file has newer timestamp 294s ========= SMOKE TEST: /usr/bin/tiki2po =========== 294s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 294s 294s Convert TikiWiki's language.php files to Gettext PO localization files. See: 294s http://docs.translatehouse.org/projects/translate- 294s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 294s 294s Options: 294s --version show program's version number and exit 294s -h, --help show this help message and exit 294s --manpage output a manpage based on the help 294s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 294s --errorlevel=ERRORLEVEL 294s show errorlevel as: none, message, exception, 294s traceback 294s -i INPUT, --input=INPUT 294s read from INPUT in php format 294s -x EXCLUDE, --exclude=EXCLUDE 294s exclude names matching EXCLUDE from input paths 294s -o OUTPUT, --output=OUTPUT 294s write to OUTPUT in po, pot formats 294s -S, --timestamp skip conversion if the output file has newer timestamp 294s --include-unused Include strings in the unused section 294s ========= SMOKE TEST: /usr/bin/tmserver =========== 294s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 294s [-s SOURCE_LANG] [-b BIND] [-p PORT] 294s [--max-candidates MAX_CANDIDATES] 294s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 294s [--debug] 294s 294s options: 294s -h, --help show this help message and exit 294s -d, --tmdb TMDBFILE translation memory database file 294s -f, --import-translation-file TMFILES 294s translation file to import into the database 294s -t, --import-target-lang TARGET_LANG 294s target language of translation files 294s -s, --import-source-lang SOURCE_LANG 294s source language of translation files 294s -b, --bind BIND address to bind server to (default: localhost) 294s -p, --port PORT port to listen on (default: 8888) 294s --max-candidates MAX_CANDIDATES 294s Maximum number of candidates 294s --min-similarity MIN_SIMILARITY 294s minimum similarity 294s --max-length MAX_LENGTH 294s Maximum string length 294s --debug enable debugging features 295s ========= SMOKE TEST: /usr/bin/toml2po =========== 295s Usage: toml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] [-P|--pot] 295s 295s Convert TOML files to Gettext PO localization files. See: 295s http://docs.translatehouse.org/projects/translate- 295s toolkit/en/latest/commands/toml2po.html for examples and usage instructions. 295s 295s Options: 295s --version show program's version number and exit 295s -h, --help show this help message and exit 295s --manpage output a manpage based on the help 295s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 295s --errorlevel=ERRORLEVEL 295s show errorlevel as: none, message, exception, 295s traceback 295s -i INPUT, --input=INPUT 295s read from INPUT in toml format 295s -x EXCLUDE, --exclude=EXCLUDE 295s exclude names matching EXCLUDE from input paths 295s -o OUTPUT, --output=OUTPUT 295s write to OUTPUT in po, pot formats 295s -t TEMPLATE, --template=TEMPLATE 295s read from TEMPLATE in toml format 295s -S, --timestamp skip conversion if the output file has newer timestamp 295s -P, --pot output PO Templates (.pot) rather than PO files (.po) 295s --duplicates=DUPLICATESTYLE 295s what to do with duplicate strings (identical source 295s text): merge, msgctxt (default: 'msgctxt') 296s ========= SMOKE TEST: /usr/bin/ts2po =========== 296s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 296s 296s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 296s http://docs.translatehouse.org/projects/translate- 296s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 296s 296s Options: 296s --version show program's version number and exit 296s -h, --help show this help message and exit 296s --manpage output a manpage based on the help 296s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 296s --errorlevel=ERRORLEVEL 296s show errorlevel as: none, message, exception, 296s traceback 296s -i INPUT, --input=INPUT 296s read from INPUT in ts format 296s -x EXCLUDE, --exclude=EXCLUDE 296s exclude names matching EXCLUDE from input paths 296s -o OUTPUT, --output=OUTPUT 296s write to OUTPUT in po, pot formats 296s -S, --timestamp skip conversion if the output file has newer timestamp 296s -P, --pot output PO Templates (.pot) rather than PO files (.po) 296s --duplicates=DUPLICATESTYLE 296s what to do with duplicate strings (identical source 296s text): merge, msgctxt (default: 'msgctxt') 297s ========= SMOKE TEST: /usr/bin/txt2po =========== 297s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 297s 297s Convert plain text (.txt) files to Gettext PO localization files. See: 297s http://docs.translatehouse.org/projects/translate- 297s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 297s 297s Options: 297s --version show program's version number and exit 297s -h, --help show this help message and exit 297s --manpage output a manpage based on the help 297s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 297s --errorlevel=ERRORLEVEL 297s show errorlevel as: none, message, exception, 297s traceback 297s -i INPUT, --input=INPUT 297s read from INPUT in *, txt formats 297s -x EXCLUDE, --exclude=EXCLUDE 297s exclude names matching EXCLUDE from input paths 297s -o OUTPUT, --output=OUTPUT 297s write to OUTPUT in po, pot formats 297s -S, --timestamp skip conversion if the output file has newer timestamp 297s -P, --pot output PO Templates (.pot) rather than PO files (.po) 297s --encoding=ENCODING The encoding of the input file (default: UTF-8) 297s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 297s mediawiki 297s --no-segmentation Don't segment the file, treat it like a single message 297s --duplicates=DUPLICATESTYLE 297s what to do with duplicate strings (identical source 297s text): merge, msgctxt (default: 'msgctxt') 298s ========= SMOKE TEST: /usr/bin/web2py2po =========== 298s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 298s 298s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 298s http://docs.translatehouse.org/projects/translate- 298s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 298s 298s Options: 298s --version show program's version number and exit 298s -h, --help show this help message and exit 298s --manpage output a manpage based on the help 298s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 298s --errorlevel=ERRORLEVEL 298s show errorlevel as: none, message, exception, 298s traceback 298s -i INPUT, --input=INPUT 298s read from INPUT in py format 298s -x EXCLUDE, --exclude=EXCLUDE 298s exclude names matching EXCLUDE from input paths 298s -o OUTPUT, --output=OUTPUT 298s write to OUTPUT in po, pot formats 298s -S, --timestamp skip conversion if the output file has newer timestamp 298s -P, --pot output PO Templates (.pot) rather than PO files (.po) 298s --duplicates=DUPLICATESTYLE 298s what to do with duplicate strings (identical source 298s text): merge, msgctxt (default: 'msgctxt') 299s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 299s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 299s 299s Convert XLIFF translation files to OpenDocument (ODF) files. See: 299s http://docs.translatehouse.org/projects/translate- 299s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 299s 299s Options: 299s --version show program's version number and exit 299s -h, --help show this help message and exit 299s --manpage output a manpage based on the help 299s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 299s --errorlevel=ERRORLEVEL 299s show errorlevel as: none, message, exception, 299s traceback 299s -i INPUT, --input=INPUT 299s read from INPUT in xlf format 299s -x EXCLUDE, --exclude=EXCLUDE 299s exclude names matching EXCLUDE from input paths 299s -o OUTPUT, --output=OUTPUT 299s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 299s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 299s -t TEMPLATE, --template=TEMPLATE 299s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 299s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 299s formats 299s -S, --timestamp skip conversion if the output file has newer timestamp 299s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 300s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 300s 300s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 300s file. See: http://docs.translatehouse.org/projects/translate- 300s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 300s 300s Options: 300s --version show program's version number and exit 300s -h, --help show this help message and exit 300s --manpage output a manpage based on the help 300s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 300s --errorlevel=ERRORLEVEL 300s show errorlevel as: none, message, exception, 300s traceback 300s -i INPUT, --input=INPUT 300s read from INPUT in po, pot, xlf, xliff formats 300s -x EXCLUDE, --exclude=EXCLUDE 300s exclude names matching EXCLUDE from input paths 300s -o OUTPUT, --output=OUTPUT 300s write to OUTPUT in oo, sdf formats 300s -t TEMPLATE, --template=TEMPLATE 300s read from TEMPLATE in oo, sdf formats 300s -S, --timestamp skip conversion if the output file has newer timestamp 300s -l LANG, --language=LANG 300s set target language code (e.g. af-ZA) [required] 300s --source-language=LANG 300s set source language code (default en-US) 300s -T, --keeptimestamp don't change the timestamps of the strings 300s --nonrecursiveoutput don't treat the output oo as a recursive store 300s --nonrecursivetemplate 300s don't treat the template oo as a recursive store 300s --skipsource don't output the source language, but fallback to it 300s where needed 300s --filteraction=ACTION 300s action on pofilter failure: none (default), warn, 300s exclude-serious, exclude-all 300s --fuzzy use translations marked fuzzy 300s --nofuzzy don't use translations marked fuzzy (default) 300s --multifile=MULTIFILESTYLE 300s how to split po/pot files (single, toplevel or 300s onefile) 300s ========= SMOKE TEST: /usr/bin/xliff2po =========== 301s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 301s 301s Convert XLIFF localization files to Gettext PO localization files. See: 301s http://docs.translatehouse.org/projects/translate- 301s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 301s 301s Options: 301s --version show program's version number and exit 301s -h, --help show this help message and exit 301s --manpage output a manpage based on the help 301s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 301s --errorlevel=ERRORLEVEL 301s show errorlevel as: none, message, exception, 301s traceback 301s -i INPUT, --input=INPUT 301s read from INPUT in xlf, xliff formats 301s -x EXCLUDE, --exclude=EXCLUDE 301s exclude names matching EXCLUDE from input paths 301s -o OUTPUT, --output=OUTPUT 301s write to OUTPUT in po, pot formats 301s -S, --timestamp skip conversion if the output file has newer timestamp 301s -P, --pot output PO Templates (.pot) rather than PO files (.po) 301s --duplicates=DUPLICATESTYLE 301s what to do with duplicate strings (identical source 301s text): merge, msgctxt (default: 'msgctxt') 301s ========= SMOKE TEST: /usr/bin/yaml2po =========== 302s 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] 302s 302s Convert YAML files to Gettext PO localization files. See: 302s http://docs.translatehouse.org/projects/translate- 302s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 302s 302s Options: 302s --version show program's version number and exit 302s -h, --help show this help message and exit 302s --manpage output a manpage based on the help 302s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 302s --errorlevel=ERRORLEVEL 302s show errorlevel as: none, message, exception, 302s traceback 302s -i INPUT, --input=INPUT 302s read from INPUT in yaml, yml formats 302s -x EXCLUDE, --exclude=EXCLUDE 302s exclude names matching EXCLUDE from input paths 302s -o OUTPUT, --output=OUTPUT 302s write to OUTPUT in po, pot formats 302s -t TEMPLATE, --template=TEMPLATE 302s read from TEMPLATE in yaml, yml formats 302s -S, --timestamp skip conversion if the output file has newer timestamp 302s -P, --pot output PO Templates (.pot) rather than PO files (.po) 302s --duplicates=DUPLICATESTYLE 302s what to do with duplicate strings (identical source 302s text): merge, msgctxt (default: 'msgctxt') 303s autopkgtest [05:56:51]: test translate-toolkit: -----------------------] 303s autopkgtest [05:56:51]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 303s translate-toolkit PASS 304s autopkgtest [05:56:52]: test python3-translate: preparing testbed 324s Creating nova instance adt-resolute-s390x-translate-toolkit-20260130-055148-juju-7f2275-prod-proposed-migration-environment-2-28bbd225-bdf6-420c-b240-09128a6e5b11 from image adt/ubuntu-resolute-s390x-server-20260129.img (UUID 0fdc3f45-c7c7-4a2c-aa6d-edc1dbbf6141)... 369s autopkgtest [05:57:56]: testbed dpkg architecture: s390x 369s autopkgtest [05:57:57]: testbed apt version: 3.1.14 369s autopkgtest [05:57:57]: @@@@@@@@@@@@@@@@@@@@ test bed setup 369s autopkgtest [05:57:57]: testbed release detected to be: resolute 370s autopkgtest [05:57:58]: updating testbed package index (apt update) 370s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 370s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 370s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 370s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 370s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [33.0 kB] 370s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [103 kB] 370s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1600 kB] 370s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [2820 B] 370s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main s390x Packages [117 kB] 370s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x Packages [1102 kB] 371s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse s390x Packages [12.0 kB] 371s Fetched 3095 kB in 1s (4203 kB/s) 372s Reading package lists... 372s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 372s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 372s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 372s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 373s Reading package lists... 373s Reading package lists... 373s Building dependency tree... 373s Reading state information... 374s Calculating upgrade... 374s The following packages will be upgraded: 374s bzip2 gcc-15-base inetutils-telnet libatomic1 libbz2-1.0 libgcc-s1 374s libsgutils2-1.48 libsqlite3-0 libstdc++6 sg3-utils sg3-utils-udev telnet 374s 12 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 374s Need to get 3103 kB of archives. 374s After this operation, 3072 B of additional disk space will be used. 374s Get:1 http://ftpmaster.internal/ubuntu resolute/main s390x libatomic1 s390x 15.2.0-12ubuntu1 [9486 B] 374s Get:2 http://ftpmaster.internal/ubuntu resolute/main s390x libstdc++6 s390x 15.2.0-12ubuntu1 [907 kB] 374s Get:3 http://ftpmaster.internal/ubuntu resolute/main s390x gcc-15-base s390x 15.2.0-12ubuntu1 [59.6 kB] 374s Get:4 http://ftpmaster.internal/ubuntu resolute/main s390x libgcc-s1 s390x 15.2.0-12ubuntu1 [35.7 kB] 374s Get:5 http://ftpmaster.internal/ubuntu resolute/main s390x bzip2 s390x 1.0.8-6build2 [35.2 kB] 374s Get:6 http://ftpmaster.internal/ubuntu resolute/main s390x libbz2-1.0 s390x 1.0.8-6build2 [41.6 kB] 374s Get:7 http://ftpmaster.internal/ubuntu resolute/main s390x libsqlite3-0 s390x 3.46.1-9 [748 kB] 374s Get:8 http://ftpmaster.internal/ubuntu resolute/main s390x inetutils-telnet s390x 2:2.7-2ubuntu1 [112 kB] 374s Get:9 http://ftpmaster.internal/ubuntu resolute/main s390x telnet all 0.17+2.7-2ubuntu1 [3636 B] 374s Get:10 http://ftpmaster.internal/ubuntu resolute/main s390x libsgutils2-1.48 s390x 1.48-3ubuntu2 [120 kB] 374s Get:11 http://ftpmaster.internal/ubuntu resolute/main s390x sg3-utils s390x 1.48-3ubuntu2 [1025 kB] 374s Get:12 http://ftpmaster.internal/ubuntu resolute/main s390x sg3-utils-udev all 1.48-3ubuntu2 [6610 B] 374s dpkg-preconfigure: unable to re-open stdin: No such file or directory 374s Fetched 3103 kB in 0s (8282 kB/s) 374s (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 ... 87720 files and directories currently installed.) 374s Preparing to unpack .../libatomic1_15.2.0-12ubuntu1_s390x.deb ... 375s Unpacking libatomic1:s390x (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 375s Preparing to unpack .../libstdc++6_15.2.0-12ubuntu1_s390x.deb ... 375s Unpacking libstdc++6:s390x (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 375s Preparing to unpack .../gcc-15-base_15.2.0-12ubuntu1_s390x.deb ... 375s Unpacking gcc-15-base:s390x (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 375s Setting up gcc-15-base:s390x (15.2.0-12ubuntu1) ... 375s (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 ... 87720 files and directories currently installed.) 375s Preparing to unpack .../libgcc-s1_15.2.0-12ubuntu1_s390x.deb ... 375s Unpacking libgcc-s1:s390x (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 375s Setting up libgcc-s1:s390x (15.2.0-12ubuntu1) ... 375s (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 ... 87720 files and directories currently installed.) 375s Preparing to unpack .../bzip2_1.0.8-6build2_s390x.deb ... 375s Unpacking bzip2 (1.0.8-6build2) over (1.0.8-6build1) ... 375s Preparing to unpack .../libbz2-1.0_1.0.8-6build2_s390x.deb ... 375s Unpacking libbz2-1.0:s390x (1.0.8-6build2) over (1.0.8-6build1) ... 375s Setting up libbz2-1.0:s390x (1.0.8-6build2) ... 375s (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 ... 87720 files and directories currently installed.) 375s Preparing to unpack .../0-libsqlite3-0_3.46.1-9_s390x.deb ... 375s Unpacking libsqlite3-0:s390x (3.46.1-9) over (3.46.1-8) ... 375s Preparing to unpack .../1-inetutils-telnet_2%3a2.7-2ubuntu1_s390x.deb ... 375s Unpacking inetutils-telnet (2:2.7-2ubuntu1) over (2:2.6-4ubuntu1) ... 375s Preparing to unpack .../2-telnet_0.17+2.7-2ubuntu1_all.deb ... 375s Unpacking telnet (0.17+2.7-2ubuntu1) over (0.17+2.6-4ubuntu1) ... 375s Preparing to unpack .../3-libsgutils2-1.48_1.48-3ubuntu2_s390x.deb ... 375s Unpacking libsgutils2-1.48:s390x (1.48-3ubuntu2) over (1.48-3ubuntu1) ... 375s Preparing to unpack .../4-sg3-utils_1.48-3ubuntu2_s390x.deb ... 375s Unpacking sg3-utils (1.48-3ubuntu2) over (1.48-3ubuntu1) ... 375s Preparing to unpack .../5-sg3-utils-udev_1.48-3ubuntu2_all.deb ... 375s Unpacking sg3-utils-udev (1.48-3ubuntu2) over (1.48-3ubuntu1) ... 375s Setting up libsqlite3-0:s390x (3.46.1-9) ... 375s Setting up inetutils-telnet (2:2.7-2ubuntu1) ... 375s Setting up libsgutils2-1.48:s390x (1.48-3ubuntu2) ... 375s Setting up bzip2 (1.0.8-6build2) ... 375s Setting up libatomic1:s390x (15.2.0-12ubuntu1) ... 375s Setting up libstdc++6:s390x (15.2.0-12ubuntu1) ... 375s Setting up sg3-utils (1.48-3ubuntu2) ... 375s Setting up telnet (0.17+2.7-2ubuntu1) ... 375s Setting up sg3-utils-udev (1.48-3ubuntu2) ... 375s update-initramfs: deferring update (trigger activated) 375s Processing triggers for libc-bin (2.42-2ubuntu4) ... 375s Processing triggers for man-db (2.13.1-1) ... 376s Processing triggers for initramfs-tools (0.150ubuntu7) ... 376s update-initramfs: Generating /boot/initrd.img-6.18.0-9-generic 383s Using config file '/etc/zipl.conf' 383s Building bootmap in '/boot' 383s Adding IPL section 'ubuntu' (default) 383s Preparing boot device: vda. 383s Done. 383s autopkgtest [05:58:11]: upgrading testbed (apt dist-upgrade and autopurge) 383s Reading package lists... 383s Building dependency tree... 383s Reading state information... 383s Calculating upgrade... 383s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 384s Reading package lists... 384s Building dependency tree... 384s Reading state information... 384s Solving dependencies... 384s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 384s autopkgtest [05:58:12]: rebooting testbed after setup commands that affected boot 417s Reading package lists... 417s Building dependency tree... 417s Reading state information... 417s Solving dependencies... 418s The following NEW packages will be installed: 418s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 418s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 418s libhunspell-1.7-0 libpython3.14-minimal libpython3.14-stdlib libserf-1-1 418s libsvn1 libutf8proc3 libxapian30 libxslt1.1 python3-aeidon python3-all 418s python3-bs4 python3-charset-normalizer python3-cheroot 418s python3-diff-match-patch python3-enchant python3-iniconfig python3-iniparse 418s python3-levenshtein python3-lxml python3-mistletoe python3-phply 418s python3-pluggy python3-ply python3-pycountry python3-pytest python3-pytz 418s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 418s python3-soupsieve python3-syrupy python3-tomlkit python3-translate 418s python3-unicode-segmentation-rs python3-vobject python3-xapian python3.14 418s python3.14-minimal subversion 418s 0 upgraded, 49 newly installed, 0 to remove and 0 not upgraded. 418s Need to get 20.3 MB of archives. 418s After this operation, 89.8 MB of additional disk space will be used. 418s Get:1 http://ftpmaster.internal/ubuntu resolute/main s390x libpython3.14-minimal s390x 3.14.2-1 [917 kB] 418s Get:2 http://ftpmaster.internal/ubuntu resolute/main s390x python3.14-minimal s390x 3.14.2-1 [2510 kB] 418s Get:3 http://ftpmaster.internal/ubuntu resolute/main s390x emacsen-common all 3.0.8 [13.9 kB] 418s Get:4 http://ftpmaster.internal/ubuntu resolute/main s390x dictionaries-common all 1.31.3 [179 kB] 418s Get:5 http://ftpmaster.internal/ubuntu resolute/main s390x libgomp1 s390x 15.2.0-12ubuntu1 [154 kB] 418s Get:6 http://ftpmaster.internal/ubuntu resolute/main s390x gettext s390x 0.23.2-1 [1062 kB] 418s Get:7 http://ftpmaster.internal/ubuntu resolute/main s390x hunspell-en-us all 1:2020.12.07-4build1 [585 kB] 419s Get:8 http://ftpmaster.internal/ubuntu resolute/main s390x libapr1t64 s390x 1.7.6-3 [114 kB] 419s Get:9 http://ftpmaster.internal/ubuntu resolute/main s390x libaprutil1t64 s390x 1.6.3-3ubuntu3 [98.9 kB] 419s Get:10 http://ftpmaster.internal/ubuntu resolute/main s390x libaspell15 s390x 0.60.8.1-6 [354 kB] 419s Get:11 http://ftpmaster.internal/ubuntu resolute/main s390x libhunspell-1.7-0 s390x 1.7.2+really1.7.2-11 [328 kB] 419s Get:12 http://ftpmaster.internal/ubuntu resolute/main s390x libenchant-2-2 s390x 2.8.2+dfsg1-3build1 [60.9 kB] 419s Get:13 http://ftpmaster.internal/ubuntu resolute/main s390x libexttextcat-data all 3.4.7-1ubuntu2 [193 kB] 419s Get:14 http://ftpmaster.internal/ubuntu resolute/main s390x libpython3.14-stdlib s390x 3.14.2-1 [2373 kB] 419s Get:15 http://ftpmaster.internal/ubuntu resolute/universe s390x libserf-1-1 s390x 1.3.10-3ubuntu1 [49.8 kB] 419s Get:16 http://ftpmaster.internal/ubuntu resolute/universe s390x libutf8proc3 s390x 2.10.0-2 [72.0 kB] 419s Get:17 http://ftpmaster.internal/ubuntu resolute/universe s390x libsvn1 s390x 1.14.5-5 [1359 kB] 420s Get:18 http://ftpmaster.internal/ubuntu resolute/universe s390x libxapian30 s390x 1.4.29-3 [740 kB] 420s Get:19 http://ftpmaster.internal/ubuntu resolute/main s390x libxslt1.1 s390x 1.1.43-0.3 [163 kB] 420s Get:20 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-aeidon all 1.15-2build1 [225 kB] 420s Get:21 http://ftpmaster.internal/ubuntu resolute/main s390x python3.14 s390x 3.14.2-1 [816 kB] 420s Get:22 http://ftpmaster.internal/ubuntu resolute/main s390x python3-all s390x 3.13.9-3 [890 B] 420s Get:23 http://ftpmaster.internal/ubuntu resolute/main s390x python3-soupsieve all 2.8.3-1 [34.0 kB] 420s Get:24 http://ftpmaster.internal/ubuntu resolute/main s390x python3-bs4 all 4.14.3-2build1 [84.8 kB] 420s Get:25 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-charset-normalizer s390x 3.4.4-2 [181 kB] 420s Get:26 http://ftpmaster.internal/ubuntu resolute/main s390x python3-cheroot all 11.1.2+ds1-1 [81.5 kB] 420s Get:27 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-diff-match-patch all 20241021-1 [33.6 kB] 420s Get:28 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-enchant all 3.3.0-1 [35.0 kB] 420s Get:29 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-iniconfig all 2.1.0-2 [6962 B] 420s Get:30 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-rapidfuzz s390x 3.12.2+ds-1build1 [1790 kB] 420s Get:31 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-levenshtein s390x 0.27.1-2build1 [181 kB] 420s Get:32 http://ftpmaster.internal/ubuntu resolute/main s390x python3-lxml s390x 6.0.2-1 [2478 kB] 421s Get:33 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-mistletoe all 1.5.1-1 [41.7 kB] 421s Get:34 http://ftpmaster.internal/ubuntu resolute/main s390x python3-ply all 3.11-10 [45.9 kB] 421s Get:35 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-phply all 1.2.6-1build1 [50.6 kB] 421s Get:36 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pluggy all 1.6.0-2 [21.1 kB] 421s Get:37 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pytest all 9.0.2-2 [277 kB] 421s Get:38 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pytz all 2025.2-5 [32.4 kB] 421s Get:39 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-ruamel.yaml.clib s390x 0.2.15+ds-1 [214 kB] 421s Get:40 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x python3-ruamel.yaml all 0.18.10+ds-1build1 [127 kB] 421s Get:41 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-syrupy all 5.0.0-1 [47.9 kB] 421s Get:42 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-tomlkit all 0.13.3-2 [39.1 kB] 421s Get:43 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-translate all 3.18.1-1 [339 kB] 421s Get:44 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-unicode-segmentation-rs s390x 0.2.1-1 [234 kB] 421s Get:45 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-vobject all 0.9.9+dfsg-1 [41.5 kB] 421s Get:46 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-xapian s390x 1.4.29-1build1 [572 kB] 421s Get:47 http://ftpmaster.internal/ubuntu resolute/universe s390x subversion s390x 1.14.5-5 [898 kB] 421s Get:48 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-iniparse all 0.5.1-2 [21.4 kB] 421s Get:49 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 422s Preconfiguring packages ... 422s Fetched 20.3 MB in 4s (5416 kB/s) 422s Selecting previously unselected package libpython3.14-minimal:s390x. 422s (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 ... 87720 files and directories currently installed.) 422s Preparing to unpack .../00-libpython3.14-minimal_3.14.2-1_s390x.deb ... 422s Unpacking libpython3.14-minimal:s390x (3.14.2-1) ... 422s Selecting previously unselected package python3.14-minimal. 422s Preparing to unpack .../01-python3.14-minimal_3.14.2-1_s390x.deb ... 422s Unpacking python3.14-minimal (3.14.2-1) ... 422s Selecting previously unselected package emacsen-common. 422s Preparing to unpack .../02-emacsen-common_3.0.8_all.deb ... 422s Unpacking emacsen-common (3.0.8) ... 422s Selecting previously unselected package dictionaries-common. 422s Preparing to unpack .../03-dictionaries-common_1.31.3_all.deb ... 423s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 423s Unpacking dictionaries-common (1.31.3) ... 423s Selecting previously unselected package libgomp1:s390x. 423s Preparing to unpack .../04-libgomp1_15.2.0-12ubuntu1_s390x.deb ... 423s Unpacking libgomp1:s390x (15.2.0-12ubuntu1) ... 423s Selecting previously unselected package gettext. 423s Preparing to unpack .../05-gettext_0.23.2-1_s390x.deb ... 423s Unpacking gettext (0.23.2-1) ... 423s Selecting previously unselected package hunspell-en-us. 423s Preparing to unpack .../06-hunspell-en-us_1%3a2020.12.07-4build1_all.deb ... 423s Unpacking hunspell-en-us (1:2020.12.07-4build1) ... 423s Selecting previously unselected package libapr1t64:s390x. 423s Preparing to unpack .../07-libapr1t64_1.7.6-3_s390x.deb ... 423s Unpacking libapr1t64:s390x (1.7.6-3) ... 423s Selecting previously unselected package libaprutil1t64:s390x. 423s Preparing to unpack .../08-libaprutil1t64_1.6.3-3ubuntu3_s390x.deb ... 423s Unpacking libaprutil1t64:s390x (1.6.3-3ubuntu3) ... 423s Selecting previously unselected package libaspell15:s390x. 423s Preparing to unpack .../09-libaspell15_0.60.8.1-6_s390x.deb ... 423s Unpacking libaspell15:s390x (0.60.8.1-6) ... 423s Selecting previously unselected package libhunspell-1.7-0:s390x. 423s Preparing to unpack .../10-libhunspell-1.7-0_1.7.2+really1.7.2-11_s390x.deb ... 423s Unpacking libhunspell-1.7-0:s390x (1.7.2+really1.7.2-11) ... 423s Selecting previously unselected package libenchant-2-2:s390x. 423s Preparing to unpack .../11-libenchant-2-2_2.8.2+dfsg1-3build1_s390x.deb ... 423s Unpacking libenchant-2-2:s390x (2.8.2+dfsg1-3build1) ... 423s Selecting previously unselected package libexttextcat-data. 423s Preparing to unpack .../12-libexttextcat-data_3.4.7-1ubuntu2_all.deb ... 423s Unpacking libexttextcat-data (3.4.7-1ubuntu2) ... 423s Selecting previously unselected package libpython3.14-stdlib:s390x. 423s Preparing to unpack .../13-libpython3.14-stdlib_3.14.2-1_s390x.deb ... 423s Unpacking libpython3.14-stdlib:s390x (3.14.2-1) ... 423s Selecting previously unselected package libserf-1-1:s390x. 423s Preparing to unpack .../14-libserf-1-1_1.3.10-3ubuntu1_s390x.deb ... 423s Unpacking libserf-1-1:s390x (1.3.10-3ubuntu1) ... 423s Selecting previously unselected package libutf8proc3:s390x. 423s Preparing to unpack .../15-libutf8proc3_2.10.0-2_s390x.deb ... 423s Unpacking libutf8proc3:s390x (2.10.0-2) ... 424s Selecting previously unselected package libsvn1:s390x. 424s Preparing to unpack .../16-libsvn1_1.14.5-5_s390x.deb ... 424s Unpacking libsvn1:s390x (1.14.5-5) ... 424s Selecting previously unselected package libxapian30:s390x. 424s Preparing to unpack .../17-libxapian30_1.4.29-3_s390x.deb ... 424s Unpacking libxapian30:s390x (1.4.29-3) ... 424s Selecting previously unselected package libxslt1.1:s390x. 424s Preparing to unpack .../18-libxslt1.1_1.1.43-0.3_s390x.deb ... 424s Unpacking libxslt1.1:s390x (1.1.43-0.3) ... 424s Selecting previously unselected package python3-aeidon. 424s Preparing to unpack .../19-python3-aeidon_1.15-2build1_all.deb ... 424s Unpacking python3-aeidon (1.15-2build1) ... 424s Selecting previously unselected package python3.14. 424s Preparing to unpack .../20-python3.14_3.14.2-1_s390x.deb ... 424s Unpacking python3.14 (3.14.2-1) ... 424s Selecting previously unselected package python3-all. 424s Preparing to unpack .../21-python3-all_3.13.9-3_s390x.deb ... 424s Unpacking python3-all (3.13.9-3) ... 424s Selecting previously unselected package python3-soupsieve. 424s Preparing to unpack .../22-python3-soupsieve_2.8.3-1_all.deb ... 424s Unpacking python3-soupsieve (2.8.3-1) ... 424s Selecting previously unselected package python3-bs4. 424s Preparing to unpack .../23-python3-bs4_4.14.3-2build1_all.deb ... 424s Unpacking python3-bs4 (4.14.3-2build1) ... 424s Selecting previously unselected package python3-charset-normalizer. 424s Preparing to unpack .../24-python3-charset-normalizer_3.4.4-2_s390x.deb ... 424s Unpacking python3-charset-normalizer (3.4.4-2) ... 424s Selecting previously unselected package python3-cheroot. 424s Preparing to unpack .../25-python3-cheroot_11.1.2+ds1-1_all.deb ... 424s Unpacking python3-cheroot (11.1.2+ds1-1) ... 424s Selecting previously unselected package python3-diff-match-patch. 424s Preparing to unpack .../26-python3-diff-match-patch_20241021-1_all.deb ... 424s Unpacking python3-diff-match-patch (20241021-1) ... 424s Selecting previously unselected package python3-enchant. 424s Preparing to unpack .../27-python3-enchant_3.3.0-1_all.deb ... 424s Unpacking python3-enchant (3.3.0-1) ... 424s Selecting previously unselected package python3-iniconfig. 424s Preparing to unpack .../28-python3-iniconfig_2.1.0-2_all.deb ... 424s Unpacking python3-iniconfig (2.1.0-2) ... 424s Selecting previously unselected package python3-rapidfuzz. 424s Preparing to unpack .../29-python3-rapidfuzz_3.12.2+ds-1build1_s390x.deb ... 424s Unpacking python3-rapidfuzz (3.12.2+ds-1build1) ... 424s Selecting previously unselected package python3-levenshtein. 424s Preparing to unpack .../30-python3-levenshtein_0.27.1-2build1_s390x.deb ... 424s Unpacking python3-levenshtein (0.27.1-2build1) ... 424s Selecting previously unselected package python3-lxml:s390x. 424s Preparing to unpack .../31-python3-lxml_6.0.2-1_s390x.deb ... 424s Unpacking python3-lxml:s390x (6.0.2-1) ... 424s Selecting previously unselected package python3-mistletoe. 424s Preparing to unpack .../32-python3-mistletoe_1.5.1-1_all.deb ... 424s Unpacking python3-mistletoe (1.5.1-1) ... 424s Selecting previously unselected package python3-ply. 424s Preparing to unpack .../33-python3-ply_3.11-10_all.deb ... 424s Unpacking python3-ply (3.11-10) ... 424s Selecting previously unselected package python3-phply. 424s Preparing to unpack .../34-python3-phply_1.2.6-1build1_all.deb ... 424s Unpacking python3-phply (1.2.6-1build1) ... 424s Selecting previously unselected package python3-pluggy. 424s Preparing to unpack .../35-python3-pluggy_1.6.0-2_all.deb ... 424s Unpacking python3-pluggy (1.6.0-2) ... 424s Selecting previously unselected package python3-pytest. 424s Preparing to unpack .../36-python3-pytest_9.0.2-2_all.deb ... 424s Unpacking python3-pytest (9.0.2-2) ... 424s Selecting previously unselected package python3-pytz. 424s Preparing to unpack .../37-python3-pytz_2025.2-5_all.deb ... 424s Unpacking python3-pytz (2025.2-5) ... 424s Selecting previously unselected package python3-ruamel.yaml.clib. 424s Preparing to unpack .../38-python3-ruamel.yaml.clib_0.2.15+ds-1_s390x.deb ... 424s Unpacking python3-ruamel.yaml.clib (0.2.15+ds-1) ... 424s Selecting previously unselected package python3-ruamel.yaml. 424s Preparing to unpack .../39-python3-ruamel.yaml_0.18.10+ds-1build1_all.deb ... 424s Unpacking python3-ruamel.yaml (0.18.10+ds-1build1) ... 424s Selecting previously unselected package python3-syrupy. 424s Preparing to unpack .../40-python3-syrupy_5.0.0-1_all.deb ... 424s Unpacking python3-syrupy (5.0.0-1) ... 424s Selecting previously unselected package python3-tomlkit. 424s Preparing to unpack .../41-python3-tomlkit_0.13.3-2_all.deb ... 424s Unpacking python3-tomlkit (0.13.3-2) ... 424s Selecting previously unselected package python3-translate. 424s Preparing to unpack .../42-python3-translate_3.18.1-1_all.deb ... 424s Unpacking python3-translate (3.18.1-1) ... 425s Selecting previously unselected package python3-unicode-segmentation-rs. 425s Preparing to unpack .../43-python3-unicode-segmentation-rs_0.2.1-1_s390x.deb ... 425s Unpacking python3-unicode-segmentation-rs (0.2.1-1) ... 425s Selecting previously unselected package python3-vobject. 425s Preparing to unpack .../44-python3-vobject_0.9.9+dfsg-1_all.deb ... 425s Unpacking python3-vobject (0.9.9+dfsg-1) ... 425s Selecting previously unselected package python3-xapian. 425s Preparing to unpack .../45-python3-xapian_1.4.29-1build1_s390x.deb ... 425s Unpacking python3-xapian (1.4.29-1build1) ... 425s Selecting previously unselected package subversion. 425s Preparing to unpack .../46-subversion_1.14.5-5_s390x.deb ... 425s Unpacking subversion (1.14.5-5) ... 425s Selecting previously unselected package python3-iniparse. 425s Preparing to unpack .../47-python3-iniparse_0.5.1-2_all.deb ... 425s Unpacking python3-iniparse (0.5.1-2) ... 425s Selecting previously unselected package python3-pycountry. 426s Preparing to unpack .../48-python3-pycountry_24.6.1+ds1-1_all.deb ... 426s Unpacking python3-pycountry (24.6.1+ds1-1) ... 426s Setting up python3-iniconfig (2.1.0-2) ... 427s Setting up libxapian30:s390x (1.4.29-3) ... 427s Setting up python3-rapidfuzz (3.12.2+ds-1build1) ... 427s Setting up python3-diff-match-patch (20241021-1) ... 427s Setting up python3-aeidon (1.15-2build1) ... 429s Setting up libutf8proc3:s390x (2.10.0-2) ... 429s Setting up libaspell15:s390x (0.60.8.1-6) ... 429s Setting up python3-charset-normalizer (3.4.4-2) ... 429s Setting up python3-ply (3.11-10) ... 429s Setting up libpython3.14-minimal:s390x (3.14.2-1) ... 429s Setting up python3-ruamel.yaml.clib (0.2.15+ds-1) ... 429s Setting up python3-pytz (2025.2-5) ... 430s Setting up python3-unicode-segmentation-rs (0.2.1-1) ... 431s Setting up libgomp1:s390x (15.2.0-12ubuntu1) ... 431s Setting up emacsen-common (3.0.8) ... 431s Setting up python3-cheroot (11.1.2+ds1-1) ... 431s Setting up python3-pycountry (24.6.1+ds1-1) ... 432s Setting up python3-xapian (1.4.29-1build1) ... 432s Setting up python3-pluggy (1.6.0-2) ... 433s Setting up python3-ruamel.yaml (0.18.10+ds-1build1) ... 434s Setting up python3-mistletoe (1.5.1-1) ... 434s Setting up libexttextcat-data (3.4.7-1ubuntu2) ... 434s Setting up libapr1t64:s390x (1.7.6-3) ... 434s Setting up libxslt1.1:s390x (1.1.43-0.3) ... 434s Setting up python3-levenshtein (0.27.1-2build1) ... 434s Setting up libhunspell-1.7-0:s390x (1.7.2+really1.7.2-11) ... 434s Setting up python3-tomlkit (0.13.3-2) ... 435s Setting up python3-soupsieve (2.8.3-1) ... 435s Setting up python3.14-minimal (3.14.2-1) ... 436s Setting up python3-iniparse (0.5.1-2) ... 437s Setting up libaprutil1t64:s390x (1.6.3-3ubuntu3) ... 437s Setting up python3-vobject (0.9.9+dfsg-1) ... 437s Setting up gettext (0.23.2-1) ... 437s Setting up python3-phply (1.2.6-1build1) ... 438s Setting up dictionaries-common (1.31.3) ... 439s Setting up libpython3.14-stdlib:s390x (3.14.2-1) ... 439s Setting up python3-pytest (9.0.2-2) ... 440s Setting up python3-syrupy (5.0.0-1) ... 441s Setting up libserf-1-1:s390x (1.3.10-3ubuntu1) ... 441s Setting up python3-bs4 (4.14.3-2build1) ... 441s Setting up python3-lxml:s390x (6.0.2-1) ... 442s Setting up hunspell-en-us (1:2020.12.07-4build1) ... 442s Setting up python3.14 (3.14.2-1) ... 446s Setting up libsvn1:s390x (1.14.5-5) ... 446s Setting up libenchant-2-2:s390x (2.8.2+dfsg1-3build1) ... 446s Setting up subversion (1.14.5-5) ... 446s Setting up python3-all (3.13.9-3) ... 446s Setting up python3-enchant (3.3.0-1) ... 446s Setting up python3-translate (3.18.1-1) ... 449s Processing triggers for libc-bin (2.42-2ubuntu4) ... 449s Processing triggers for systemd (259-1ubuntu2) ... 449s Processing triggers for man-db (2.13.1-1) ... 450s Processing triggers for install-info (7.2-5) ... 450s Processing triggers for dictionaries-common (1.31.3) ... 452s autopkgtest [05:59:20]: test python3-translate: [----------------------- 453s ============================= test session starts ============================== 453s platform linux -- Python 3.14.2, pytest-9.0.2, pluggy-1.6.0 -- /usr/bin/python3.14 453s cachedir: .pytest_cache 453s rootdir: /tmp/autopkgtest.AFZJC1/autopkgtest_tmp 453s plugins: typeguard-4.4.4, syrupy-5.0.0 468s collecting ... collected 3902 items / 2 skipped 468s 469s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 469s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 469s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 469s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 469s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 469s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 469s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 469s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 469s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 469s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 469s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 469s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 469s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 469s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 469s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 469s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 469s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 469s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 469s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 469s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 469s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 469s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 469s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 469s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 469s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 469s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 469s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 469s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 469s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 469s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 469s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 469s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_line_numbers_in_errors PASSED [ 0%] 469s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 469s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 469s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 0%] 469s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 0%] 469s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 0%] 469s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 0%] 469s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 0%] 469s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 469s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_line_numbers_in_errors PASSED [ 1%] 469s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 469s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 1%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 469s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 469s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 469s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 2%] 469s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 2%] 469s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 2%] 469s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 2%] 469s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 2%] 469s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 2%] 469s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 2%] 469s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 2%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 2%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 2%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 2%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 2%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 2%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 2%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 3%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_ignore_attribute PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_translate_comment_directives PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_social_media_tags PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_non_translatable_tags_not_extracted PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_mixed_translatable_and_non_translatable PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_comment_attribute PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_comment_without_keepcomments PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2PO::test_text_after_empty_tags PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 4%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_ignore_attribute PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_translate_comment_directives PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_social_media_tags PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_non_translatable_tags_not_extracted PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_mixed_translatable_and_non_translatable PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_comment_attribute PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_comment_without_keepcomments PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_text_after_empty_tags PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 469s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 5%] 469s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 5%] 469s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 5%] 469s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 5%] 469s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 5%] 469s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 5%] 469s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 5%] 469s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 5%] 469s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 5%] 469s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 5%] 469s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 5%] 469s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 5%] 469s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 5%] 469s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 5%] 469s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 469s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 469s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 469s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 469s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 469s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 469s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 469s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 469s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 469s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 469s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 469s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 469s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 469s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 469s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 469s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 469s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 469s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 469s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 469s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 6%] 469s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 6%] 469s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 6%] 469s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 6%] 469s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 6%] 469s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 6%] 469s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 6%] 469s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 6%] 469s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 6%] 469s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 6%] 469s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 6%] 469s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 6%] 469s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 6%] 469s tests/translate/convert/test_json2po.py::TestJson2PO::test_multiple_units PASSED [ 6%] 469s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 6%] 469s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 6%] 469s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 6%] 469s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_multiple_units PASSED [ 6%] 469s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 6%] 469s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 6%] 469s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 469s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 469s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 469s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 469s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_frontmatter PASSED [ 7%] 469s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_translation_ignore_sections PASSED [ 7%] 469s tests/translate/convert/test_moz2po.py::TestMoz2PO::test_duplicate_locations PASSED [ 7%] 469s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_duplicate_locations PASSED [ 7%] 469s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 469s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 469s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 469s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 469s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 469s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 469s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 469s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 469s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 469s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 469s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 7%] 469s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 7%] 469s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 7%] 469s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 7%] 469s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 7%] 469s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 7%] 469s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 7%] 469s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 7%] 469s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 7%] 469s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 7%] 469s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 7%] 469s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 7%] 469s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 7%] 469s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 7%] 469s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 7%] 469s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 7%] 469s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 7%] 469s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 7%] 470s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 7%] 470s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 7%] 470s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 7%] 470s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 470s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 470s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 470s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 470s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 470s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 470s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 470s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 470s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 470s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 470s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 470s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 470s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 470s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 8%] 470s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 8%] 470s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 8%] 470s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 8%] 470s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 8%] 470s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 8%] 470s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 8%] 470s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 8%] 470s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 470s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 8%] 470s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 470s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 470s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 470s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 470s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 470s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 470s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 8%] 470s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 470s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 8%] 470s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 470s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 470s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 8%] 470s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 8%] 470s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 8%] 470s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 8%] 470s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 8%] 470s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 470s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 470s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 470s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 470s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 470s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 470s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 470s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 9%] 470s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 9%] 470s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 9%] 470s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 9%] 470s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 9%] 470s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 9%] 471s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 9%] 471s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 9%] 471s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 9%] 471s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 9%] 471s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 9%] 471s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 9%] 471s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 9%] 471s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 9%] 471s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 9%] 471s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 9%] 471s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 9%] 471s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 9%] 471s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 9%] 471s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 9%] 471s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 9%] 471s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 9%] 471s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 9%] 471s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 9%] 471s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 9%] 471s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 9%] 471s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 9%] 471s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 9%] 471s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 9%] 471s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 9%] 471s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 9%] 471s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 9%] 471s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 471s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 471s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 10%] 471s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 10%] 471s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 10%] 471s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 10%] 471s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 10%] 471s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 10%] 471s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 10%] 471s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 10%] 471s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 10%] 471s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 10%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 11%] 471s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 11%] 471s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 11%] 471s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 11%] 471s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 11%] 471s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 11%] 471s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 11%] 471s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 11%] 471s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 11%] 471s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 11%] 471s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 11%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities_template_vs_po_mismatch PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_utf8_non_ascii_characters PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_custom_entities_preserved PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_auto_rtl PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_auto_ltr PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_added_when_missing PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_not_changed_without_lang_translation PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_button_translation PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_lang_attribute_only_on_html_tag PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_data_translate_ignore_preserved PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_translate_comment_directives_preserved PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_data_translate_ignore_with_translation_in_po PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_translate_comment_with_translation_in_po PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_meta_social_media_tags_translation PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2Html::test_meta_non_translatable_tags_preserved PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities_template_vs_po_mismatch PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_utf8_non_ascii_characters PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_custom_entities_preserved PASSED [ 12%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_auto_rtl PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_auto_ltr PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_added_when_missing PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_not_changed_without_lang_translation PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_button_translation PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_lang_attribute_only_on_html_tag PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_data_translate_ignore_preserved PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_translate_comment_directives_preserved PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_data_translate_ignore_with_translation_in_po PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_translate_comment_with_translation_in_po PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_meta_social_media_tags_translation PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_meta_non_translatable_tags_preserved PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 13%] 471s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 13%] 471s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 13%] 471s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 13%] 471s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 13%] 471s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 13%] 471s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 13%] 471s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 13%] 471s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 13%] 471s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 13%] 471s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 13%] 471s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 13%] 471s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 13%] 471s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 13%] 471s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 13%] 471s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 13%] 471s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 471s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 471s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 471s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 471s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 471s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 471s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 471s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 471s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 472s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 472s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 472s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 14%] 472s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 14%] 472s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 472s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 472s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 472s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 472s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 472s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 15%] 472s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 15%] 472s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 15%] 472s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 15%] 472s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 15%] 472s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 15%] 472s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 15%] 472s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 15%] 472s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 15%] 472s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 15%] 472s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 15%] 472s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_table XFAIL [ 15%] 472s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_frontmatter PASSED [ 15%] 472s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_translation_ignore_sections PASSED [ 15%] 472s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 15%] 472s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 15%] 472s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 15%] 472s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 15%] 472s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 15%] 472s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 15%] 472s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 15%] 472s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 15%] 472s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 15%] 472s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 15%] 472s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 15%] 472s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 15%] 472s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 15%] 472s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 15%] 472s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 15%] 472s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 15%] 472s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 15%] 472s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 15%] 472s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 15%] 472s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 15%] 472s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 472s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 472s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_help PASSED [ 16%] 472s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert PASSED [ 16%] 472s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert_with_multiple_units PASSED [ 16%] 472s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 472s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 16%] 472s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 16%] 472s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 16%] 472s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 16%] 472s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 16%] 472s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 16%] 472s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 16%] 472s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 16%] 472s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 16%] 472s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 16%] 472s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 16%] 472s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 16%] 472s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 16%] 472s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 16%] 472s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 16%] 472s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 16%] 472s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 16%] 472s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 16%] 472s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 16%] 472s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 16%] 472s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 16%] 472s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 16%] 472s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 16%] 472s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 16%] 472s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 16%] 472s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 16%] 472s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 16%] 472s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 16%] 472s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 16%] 472s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 16%] 472s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 16%] 472s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 16%] 472s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 16%] 472s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 472s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 17%] 472s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 17%] 472s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 17%] 472s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 17%] 472s tests/translate/convert/test_po2php.py::TestPO2Php::test_return_array_with_comments PASSED [ 17%] 472s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 17%] 472s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 17%] 472s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 17%] 472s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 17%] 472s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 17%] 472s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 17%] 472s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 17%] 472s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 17%] 472s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 17%] 472s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 17%] 472s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 17%] 472s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 17%] 472s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 17%] 472s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 17%] 473s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 17%] 473s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 17%] 473s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 17%] 473s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 17%] 473s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 17%] 473s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_return_array_with_comments PASSED [ 17%] 473s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 17%] 473s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 17%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 17%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 17%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 17%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 17%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 17%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 17%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_value_no_key PASSED [ 17%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 17%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 17%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 17%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 17%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_utf16_with_empty_lines PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_value_no_key PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 18%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 19%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 19%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 19%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_utf16_with_empty_lines PASSED [ 19%] 473s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 19%] 473s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 19%] 473s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 19%] 473s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 19%] 473s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 19%] 474s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 19%] 474s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 19%] 474s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 19%] 474s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 19%] 474s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 19%] 474s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 19%] 474s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 19%] 474s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 19%] 474s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 19%] 474s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes_strintable PASSED [ 19%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 19%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 19%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 19%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 19%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 19%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 19%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 19%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 19%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 19%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 19%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 19%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 19%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 19%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 19%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 19%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 19%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 19%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 19%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_plus_in_resourcekey PASSED [ 19%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_special_chars_in_resourcekey PASSED [ 19%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 20%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 20%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 20%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 20%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 20%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 20%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 20%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 20%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 20%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 20%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 20%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 20%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 20%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 20%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 20%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 20%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_plus_in_resourcekey PASSED [ 20%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_special_chars_in_resourcekey PASSED [ 20%] 474s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 20%] 474s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 20%] 474s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 20%] 474s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 20%] 474s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 20%] 474s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 20%] 474s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 20%] 474s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 20%] 474s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 20%] 474s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 20%] 474s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 20%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 20%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 20%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 20%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 20%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 20%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 20%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 20%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 20%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 21%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 21%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 21%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 21%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 21%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 21%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 21%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 21%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 21%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 21%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 21%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 21%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 21%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 21%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 21%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 21%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 21%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 21%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 21%] 474s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context PASSED [ 21%] 474s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_simple_convert PASSED [ 21%] 474s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_nested_convert PASSED [ 21%] 474s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_template_required PASSED [ 21%] 474s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_untranslated_uses_source PASSED [ 21%] 474s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 21%] 474s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 21%] 474s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 21%] 474s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 21%] 474s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 21%] 474s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 21%] 474s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 21%] 474s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 21%] 474s tests/translate/convert/test_po2ts.py::TestPO2TS::test_plural PASSED [ 21%] 474s tests/translate/convert/test_po2ts.py::TestPO2TS::test_plural_fuzzy PASSED [ 21%] 474s tests/translate/convert/test_po2ts.py::TestPO2TS::test_unit_without_location PASSED [ 21%] 474s tests/translate/convert/test_po2ts.py::TestPO2TS::test_mixed_units_with_and_without_location PASSED [ 21%] 474s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 21%] 474s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 21%] 474s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 21%] 474s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 22%] 474s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 22%] 474s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 22%] 474s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 22%] 474s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 22%] 474s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_plural PASSED [ 22%] 474s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_plural_fuzzy PASSED [ 22%] 474s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_unit_without_location PASSED [ 22%] 474s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_mixed_units_with_and_without_location PASSED [ 22%] 474s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 22%] 474s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 22%] 474s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 22%] 474s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 22%] 474s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 22%] 474s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 22%] 474s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 22%] 474s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 22%] 474s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 22%] 474s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_substring_replacement PASSED [ 22%] 474s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_duplicate_text_segment_based_replacement PASSED [ 22%] 474s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_dokuwiki_flavour_segmentation PASSED [ 22%] 474s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 22%] 474s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 22%] 475s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 22%] 475s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 22%] 475s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 22%] 475s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 22%] 475s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 22%] 475s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 22%] 475s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_substring_replacement PASSED [ 22%] 475s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_duplicate_text_segment_based_replacement PASSED [ 22%] 475s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_dokuwiki_flavour_segmentation PASSED [ 22%] 475s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 22%] 475s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 22%] 475s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 22%] 475s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 22%] 475s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 22%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 22%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 22%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 23%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 23%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 23%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 23%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 23%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 23%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 23%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 23%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 23%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 23%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 23%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 23%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 23%] 475s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 23%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 23%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 23%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 23%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 23%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 23%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 23%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 23%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 23%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 23%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 23%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 23%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 23%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 23%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 23%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 23%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 23%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 23%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 23%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 23%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 23%] 475s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 23%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 23%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 23%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 23%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 23%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overrides_old PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurrect_obsolete_messages PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurrect_obsolete_messages_into_msgidcomment PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 24%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overrides_old PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurrect_obsolete_messages PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurrect_obsolete_messages_into_msgidcomment PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 25%] 475s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 25%] 475s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 25%] 475s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 25%] 475s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 25%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 25%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 25%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 25%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 25%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_value_no_key_entry PASSED [ 25%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 25%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 25%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 25%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 25%] 475s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 25%] 476s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_locations_mozilla PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2PO::test_strings_bilingual_simple PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2PO::test_strings_bilingual_multiline PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_value_no_key_entry PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_locations_mozilla PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 26%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 27%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_strings_bilingual_simple PASSED [ 27%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_strings_bilingual_multiline PASSED [ 27%] 476s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 27%] 476s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 27%] 476s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 27%] 477s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 27%] 477s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 27%] 477s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 27%] 477s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 27%] 477s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 27%] 477s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 27%] 477s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 27%] 477s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 27%] 477s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 27%] 477s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 27%] 477s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 27%] 477s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 27%] 477s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 27%] 477s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 27%] 477s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 27%] 477s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 27%] 477s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 27%] 477s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 27%] 477s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 27%] 477s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 27%] 477s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 27%] 477s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 27%] 477s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 27%] 477s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 27%] 477s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 27%] 477s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_simple_convert PASSED [ 27%] 477s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_nested_convert PASSED [ 27%] 477s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_comment_extraction PASSED [ 27%] 477s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_merge_with_template PASSED [ 27%] 477s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 27%] 477s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 27%] 477s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 27%] 477s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 27%] 477s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 28%] 477s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 28%] 477s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 28%] 477s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 28%] 477s tests/translate/convert/test_ts2po.py::TestTS2PO::test_plural PASSED [ 28%] 477s tests/translate/convert/test_ts2po.py::TestTS2PO::test_plural_unfinished PASSED [ 28%] 477s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 28%] 477s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 28%] 477s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 28%] 477s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 28%] 477s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 28%] 477s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 28%] 477s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 28%] 477s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 28%] 477s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_plural PASSED [ 28%] 477s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_plural_unfinished PASSED [ 28%] 477s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 28%] 477s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 29%] 477s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 29%] 477s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 29%] 477s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 29%] 477s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 29%] 477s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 29%] 477s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 29%] 477s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 29%] 477s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 29%] 477s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 29%] 477s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 29%] 477s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 29%] 477s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 30%] 477s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 30%] 477s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 30%] 478s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_comment_extraction PASSED [ 30%] 478s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_comment_extraction_nested PASSED [ 30%] 478s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 30%] 478s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 30%] 478s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 30%] 478s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 30%] 478s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 30%] 478s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 30%] 478s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_comment_extraction PASSED [ 30%] 478s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_comment_extraction_nested PASSED [ 30%] 478s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 30%] 478s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 30%] 478s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 30%] 478s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 30%] 478s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 30%] 478s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 30%] 478s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 30%] 478s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 30%] 478s tests/translate/filters/test_checks.py::test_defaults PASSED [ 30%] 478s tests/translate/filters/test_checks.py::test_construct PASSED [ 30%] 478s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 30%] 478s tests/translate/filters/test_checks.py::test_messages PASSED [ 30%] 478s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 30%] 478s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 30%] 478s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 30%] 478s tests/translate/filters/test_checks.py::test_blank PASSED [ 30%] 478s tests/translate/filters/test_checks.py::test_brackets PASSED [ 30%] 478s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 30%] 478s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 30%] 478s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 30%] 478s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 30%] 478s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 30%] 478s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 30%] 478s tests/translate/filters/test_checks.py::test_escapes PASSED [ 30%] 478s tests/translate/filters/test_checks.py::test_newlines PASSED [ 30%] 478s tests/translate/filters/test_checks.py::test_tabs PASSED [ 30%] 478s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_long PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 31%] 478s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_numbers PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_options PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_printf PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_short PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 31%] 478s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 31%] 478s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_validchars PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 31%] 478s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 31%] 479s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 31%] 479s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 32%] 479s tests/translate/filters/test_checks.py::test_functions PASSED [ 32%] 479s tests/translate/filters/test_checks.py::test_emails PASSED [ 32%] 479s tests/translate/filters/test_checks.py::test_urls PASSED [ 32%] 479s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 32%] 479s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 32%] 479s tests/translate/filters/test_checks.py::test_credits PASSED [ 32%] 479s tests/translate/filters/test_checks.py::test_gconf PASSED [ 32%] 479s tests/translate/filters/test_checks.py::test_validxml PASSED [ 32%] 479s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 32%] 479s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 32%] 479s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 32%] 479s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 32%] 479s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 32%] 479s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 32%] 479s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 32%] 479s tests/translate/filters/test_checks.py::test_category PASSED [ 32%] 479s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 32%] 479s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 32%] 479s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 32%] 479s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 32%] 479s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 32%] 479s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 32%] 479s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 32%] 479s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 32%] 479s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 32%] 479s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existent_check PASSED [ 32%] 479s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 32%] 479s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 32%] 479s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 32%] 479s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 32%] 479s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 32%] 479s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 32%] 479s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 32%] 479s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 32%] 479s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 32%] 479s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 32%] 479s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 32%] 479s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 32%] 479s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existent_check PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existent_check PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 33%] 479s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 33%] 480s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 33%] 480s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existent_check PASSED [ 33%] 480s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 33%] 480s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 33%] 480s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 33%] 480s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 33%] 480s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 33%] 480s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 33%] 480s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 33%] 480s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 33%] 480s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 33%] 480s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 33%] 480s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 33%] 480s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 34%] 480s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 34%] 480s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 34%] 480s tests/translate/lang/test_af.py::test_sentences PASSED [ 34%] 480s tests/translate/lang/test_af.py::test_capsstart PASSED [ 34%] 480s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 34%] 480s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 34%] 480s tests/translate/lang/test_am.py::test_sentences PASSED [ 34%] 480s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 34%] 480s tests/translate/lang/test_ar.py::test_sentences PASSED [ 34%] 480s tests/translate/lang/test_common.py::test_characters PASSED [ 34%] 480s tests/translate/lang/test_common.py::test_words PASSED [ 34%] 480s tests/translate/lang/test_common.py::test_word_khmer PASSED [ 34%] 480s tests/translate/lang/test_common.py::test_sentences PASSED [ 34%] 480s tests/translate/lang/test_common.py::test_capsstart PASSED [ 34%] 480s tests/translate/lang/test_common.py::test_numstart PASSED [ 34%] 480s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 34%] 480s tests/translate/lang/test_common.py::test_length_difference PASSED [ 34%] 480s tests/translate/lang/test_common.py::test_alter_length PASSED [ 34%] 480s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 34%] 480s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 34%] 480s tests/translate/lang/test_data.py::test_is_rtl PASSED [ 34%] 480s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 34%] 480s tests/translate/lang/test_el.py::test_sentences PASSED [ 34%] 480s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 34%] 480s tests/translate/lang/test_es.py::test_sentences PASSED [ 34%] 480s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 34%] 480s tests/translate/lang/test_fa.py::test_sentences PASSED [ 34%] 480s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 34%] 480s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 34%] 480s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 34%] 480s tests/translate/lang/test_fr.py::test_sentences PASSED [ 34%] 480s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 34%] 480s tests/translate/lang/test_hy.py::test_sentences PASSED [ 34%] 480s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 34%] 480s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 34%] 480s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 34%] 480s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 34%] 480s tests/translate/lang/test_ja.py::test_sentences PASSED [ 34%] 480s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 35%] 480s tests/translate/lang/test_km.py::test_sentences PASSED [ 35%] 480s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 35%] 480s tests/translate/lang/test_ko.py::test_sentences PASSED [ 35%] 480s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 35%] 480s tests/translate/lang/test_ne.py::test_sentences PASSED [ 35%] 480s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 35%] 480s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 35%] 480s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 35%] 480s tests/translate/lang/test_or.py::test_country_code PASSED [ 35%] 480s tests/translate/lang/test_or.py::test_sentences PASSED [ 35%] 480s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 35%] 480s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 35%] 480s tests/translate/lang/test_ro.py::test_niciun PASSED [ 35%] 480s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 35%] 480s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 35%] 480s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 35%] 480s tests/translate/lang/test_team.py::test_simple PASSED [ 35%] 480s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 35%] 480s tests/translate/lang/test_th.py::test_sentences PASSED [ 35%] 480s tests/translate/lang/test_tr.py::test_sentences PASSED [ 35%] 480s tests/translate/lang/test_uk.py::test_sentences PASSED [ 35%] 480s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 35%] 480s tests/translate/lang/test_vi.py::test_sentences PASSED [ 35%] 480s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 35%] 480s tests/translate/lang/test_zh.py::test_sentences PASSED [ 35%] 480s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 35%] 480s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 35%] 480s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 35%] 480s tests/translate/misc/test_dictutils.py::test_cidict_pop PASSED [ 35%] 480s tests/translate/misc/test_dictutils.py::test_cidict_getitem PASSED [ 35%] 480s tests/translate/misc/test_dictutils.py::test_cidict_setitem PASSED [ 35%] 480s tests/translate/misc/test_dictutils.py::test_cidict_delitem PASSED [ 35%] 480s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 35%] 480s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 35%] 480s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 35%] 480s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 35%] 480s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 35%] 480s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 35%] 480s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 36%] 480s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 36%] 480s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 36%] 480s tests/translate/misc/test_multistring.py::TestMultistring::test_bool PASSED [ 36%] 480s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 36%] 480s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 36%] 480s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 36%] 480s tests/translate/misc/test_quote.py::test_find_all PASSED [ 36%] 480s tests/translate/misc/test_quote.py::test_extract PASSED [ 36%] 480s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 36%] 480s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 36%] 480s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 36%] 480s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 36%] 480s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_iso_8859_1 PASSED [ 36%] 480s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_ascii PASSED [ 36%] 480s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_unicode_range PASSED [ 36%] 480s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 36%] 480s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 36%] 480s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 36%] 480s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 36%] 480s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 36%] 480s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 36%] 480s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 36%] 480s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 36%] 480s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 36%] 480s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 36%] 480s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 36%] 480s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 36%] 480s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 36%] 480s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 36%] 480s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 36%] 480s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 36%] 480s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 36%] 480s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 36%] 480s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 36%] 480s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 36%] 480s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 36%] 480s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 36%] 480s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 36%] 480s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 37%] 480s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 37%] 480s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 37%] 481s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 37%] 481s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 37%] 481s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 37%] 481s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 37%] 481s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 37%] 481s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 37%] 481s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 37%] 481s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 37%] 481s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 37%] 481s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 37%] 481s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 37%] 481s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 37%] 481s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 37%] 481s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 38%] 481s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 38%] 481s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 38%] 481s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 38%] 481s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 38%] 481s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 38%] 481s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 38%] 481s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 38%] 481s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 38%] 481s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 38%] 481s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 38%] 481s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_line_number_default PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 38%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 39%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_xml PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 40%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse_decimal_plurals PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_to_plurals PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_empty_missing_plural_tag PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_line_number_default PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escape_quote PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 41%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_isfuzzy PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_create PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_eq PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_escapes PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_difficult_escapes PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_note_sanity PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_line_number_default PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_target PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_rich_get PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_rich_set PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_escape_quote PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_create_blank PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_add PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_remove PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_find PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_parse PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_files PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_save PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_extensions PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_mimetypes PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_translate PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_markup PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_nonascii PASSED [ 42%] 481s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_quote_escape PASSED [ 42%] 481s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 42%] 481s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 42%] 481s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 42%] 481s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 42%] 481s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 42%] 481s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 481s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 481s tests/translate/storage/test_base.py::TestTranslationUnit::test_line_number_default PASSED [ 43%] 482s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 43%] 482s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 43%] 482s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 43%] 482s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 43%] 482s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 43%] 482s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 43%] 482s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 43%] 482s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 43%] 482s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 43%] 482s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 43%] 482s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 43%] 482s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 43%] 482s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 43%] 482s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 43%] 482s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_create_empty_bundle PASSED [ 43%] 482s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_create_bundle_from_nonexistent_file PASSED [ 43%] 482s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle PASSED [ 43%] 482s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save PASSED [ 43%] 482s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip PASSED [ 43%] 482s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle PASSED [ 43%] 482s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_update_file_in_bundle PASSED [ 43%] 482s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle PASSED [ 43%] 482s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_invalid_bundle_error PASSED [ 43%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 43%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 43%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 43%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 43%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 43%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_line_number_default PASSED [ 43%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 43%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 43%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 43%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 43%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 43%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 43%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 43%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 44%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 44%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 44%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 44%] 482s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_line_number_default PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 44%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 45%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 45%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 45%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 45%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 45%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding_save PASSED [ 45%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_id_target PASSED [ 45%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_context_target PASSED [ 45%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_key_translation PASSED [ 45%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_roundtrip PASSED [ 45%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_context_roundtrip PASSED [ 45%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_id_context_roundtrip PASSED [ 45%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_target_only_roundtrip PASSED [ 45%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_quote_nonnumeric_handling PASSED [ 45%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_quote_nonnumeric_with_single_quotes PASSED [ 45%] 482s tests/translate/storage/test_csvl10n.py::TestCSV::test_line_number PASSED [ 45%] 482s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 45%] 482s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 45%] 482s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 45%] 482s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 45%] 482s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 45%] 482s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 45%] 482s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 45%] 482s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 45%] 482s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 45%] 482s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 45%] 482s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 45%] 482s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 45%] 482s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 45%] 482s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 45%] 482s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 45%] 482s tests/translate/storage/test_dtd.py::TestDTDUnit::test_line_number_default PASSED [ 45%] 482s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 45%] 482s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 45%] 482s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 45%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 45%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 45%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_multiple_blank_lines PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_entity_with_extra_spaces PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestDTD::test_mixed_content_preservation PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 46%] 482s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 482s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 482s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 47%] 482s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 47%] 482s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 47%] 482s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 47%] 482s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 47%] 482s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 47%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 47%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 47%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 47%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 47%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_line_number_default PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 48%] 482s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 48%] 482s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 48%] 482s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 48%] 482s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 48%] 482s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 48%] 482s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 48%] 482s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 48%] 482s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 48%] 482s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 48%] 482s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 48%] 482s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 48%] 482s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 48%] 482s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_button PASSED [ 48%] 482s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_lang_attribute PASSED [ 48%] 482s tests/translate/storage/test_html.py::TestHTMLExtraction::test_dir_attribute_not_extracted PASSED [ 49%] 482s tests/translate/storage/test_html.py::TestHTMLExtraction::test_data_translate_ignore_attribute PASSED [ 49%] 482s tests/translate/storage/test_html.py::TestHTMLExtraction::test_translate_comment_directives PASSED [ 49%] 482s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_social_media_tags PASSED [ 49%] 482s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_non_translatable_tags PASSED [ 49%] 482s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_mixed_translatable_and_non_translatable PASSED [ 49%] 482s tests/translate/storage/test_html.py::TestHTMLExtraction::test_data_translate_comment_attribute PASSED [ 49%] 482s tests/translate/storage/test_html_context.py::test_html_context_basic PASSED [ 49%] 482s tests/translate/storage/test_html_context.py::test_html_context_attribute PASSED [ 49%] 482s tests/translate/storage/test_html_context.py::test_html_context_attribute_with_id PASSED [ 49%] 482s tests/translate/storage/test_html_context.py::test_html_context_same_source_different_contexts PASSED [ 49%] 482s tests/translate/storage/test_html_context.py::test_html_context_nested_outer_wins PASSED [ 49%] 482s tests/translate/storage/test_html_context.py::test_html_context_absent PASSED [ 49%] 482s tests/translate/storage/test_html_context.py::test_html_context_id_overridden_by_explicit PASSED [ 49%] 482s tests/translate/storage/test_html_context.py::test_html_context_id_not_used_when_no_duplicates PASSED [ 49%] 482s tests/translate/storage/test_html_context.py::test_html_context_id_not_used_when_data_translate_context_identical PASSED [ 49%] 482s tests/translate/storage/test_html_context.py::test_html_context_disambiguates_duplicates_with_id PASSED [ 49%] 482s tests/translate/storage/test_html_context.py::test_html_context_disambiguates_duplicates_with_ancestor_id PASSED [ 49%] 482s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 49%] 482s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 49%] 482s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 49%] 482s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 49%] 482s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 49%] 482s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 49%] 482s tests/translate/storage/test_ini.py::TestINIUnit::test_line_number_default PASSED [ 49%] 482s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 49%] 482s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 49%] 482s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 49%] 482s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 49%] 482s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 49%] 482s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 49%] 482s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 49%] 482s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 49%] 482s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 49%] 482s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 49%] 482s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 49%] 482s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 49%] 482s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 49%] 482s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 49%] 482s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 482s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 482s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_line_number_default PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 50%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_line_number_default PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_line_number_default PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 51%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_comments PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 52%] 482s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 53%] 482s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 54%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_invalid_nesting PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_empty_metadata_not_stored PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_invalid PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_isfuzzy PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_create PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_eq PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_escapes PASSED [ 55%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_difficult_escapes PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_note_sanity PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_line_number_default PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_target PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_rich_get PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_rich_set PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_source_property_maps_to_id PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_source_roundtrip PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_create_blank PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_remove PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_find PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_files PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_save PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_extensions PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_mimetypes PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_translate PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_markup PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_nonascii PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse_simple PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_serialize_simple PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse_with_plurals PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_preserve_plural_form PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_roundtrip_with_plurals PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_ignore_non_translations_keys PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_preserve_other_metadata PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add_unit PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add_plural_unit PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_empty_translations PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_create_blank PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_add PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_remove PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_find PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_parse PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_files PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_save PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_extensions PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_mimetypes PASSED [ 56%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_translate PASSED [ 57%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_markup PASSED [ 57%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_nonascii PASSED [ 57%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_roundtrip PASSED [ 57%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_basic_parsing PASSED [ 57%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_multiple_metadata PASSED [ 57%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_no_metadata PASSED [ 57%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_edit_target PASSED [ 57%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_edit_notes PASSED [ 57%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_keys_with_dots PASSED [ 57%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_leading_dot_keys PASSED [ 57%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_invalid_nesting PASSED [ 57%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_property_get_set PASSED [ 57%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_property_persists PASSED [ 57%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_getcontext_returns_id PASSED [ 57%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_parsing_preserves_order PASSED [ 57%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_metadata_without_translation PASSED [ 57%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_complex_keys_with_multiple_dots PASSED [ 57%] 482s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_empty_string PASSED [ 57%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_basic PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_with_markup PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_with_code_block PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_multiple_ignore_sections PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_at_start PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_at_end PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_nested_structures_in_ignore PASSED [ 58%] 482s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_link_references_in_ignore PASSED [ 58%] 482s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 482s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 482s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 482s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 482s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 482s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 482s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 482s tests/translate/storage/test_mo.py::TestMOUnit::test_line_number_default PASSED [ 58%] 482s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 482s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 482s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 482s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 482s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 482s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 482s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 59%] 482s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 59%] 482s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 59%] 482s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 59%] 482s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 59%] 482s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 59%] 482s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 59%] 482s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 59%] 482s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 482s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 482s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 482s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 59%] 482s tests/translate/storage/test_mo.py::TestMOFile::test_endian_version_parsing PASSED [ 59%] 482s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 482s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 482s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 482s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 482s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 482s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 482s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_line_number_default PASSED [ 59%] 482s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 482s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 482s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 482s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 482s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 482s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 482s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 482s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 482s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 482s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 482s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 482s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 482s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 482s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 482s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 482s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 482s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 482s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 482s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 482s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[\u015e\u0167\u0159\u012b\u019e\u0260 {ok}-\u015e\u0167\u0159\u012b\u019e\u0260] PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_line_number_default PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 482s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 483s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 483s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 483s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 483s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 483s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 483s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_line_number PASSED [ 61%] 483s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_isfuzzy PASSED [ 61%] 483s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_create PASSED [ 61%] 483s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_eq PASSED [ 61%] 483s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_target PASSED [ 61%] 483s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_escapes PASSED [ 61%] 483s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_difficult_escapes PASSED [ 61%] 483s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_note_sanity PASSED [ 61%] 483s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_line_number_default PASSED [ 61%] 483s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_rich_get PASSED [ 61%] 483s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_rich_set PASSED [ 61%] 483s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_create_blank PASSED [ 61%] 483s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_add PASSED [ 61%] 483s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_remove PASSED [ 61%] 483s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_find PASSED [ 61%] 483s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_translate PASSED [ 61%] 483s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_parse PASSED [ 61%] 483s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_files PASSED [ 61%] 483s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_save PASSED [ 61%] 483s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_markup PASSED [ 61%] 483s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_nonascii PASSED [ 61%] 483s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_mimetypes PASSED [ 61%] 483s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_extensions XFAIL [ 61%] 483s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 483s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 483s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 483s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 483s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 483s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 483s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 483s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 483s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 483s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpUnit::test_line_number_default PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 62%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 483s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 63%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_with_spaces PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_with_comments PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_line_number_default PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping_array_syntax PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping_numeric_keys PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_roundtrip_short_array PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_roundtrip_array_syntax PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_preserves_structure PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_with_array_syntax PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_addunit_with_setid PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_unit_to_short_array_file PASSED [ 64%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_unit_to_array_function_file PASSED [ 65%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_multiple_units_to_short_array PASSED [ 65%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_multiple_units_to_array_function PASSED [ 65%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_numeric_keys_no_quotes PASSED [ 65%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_empty_string_key PASSED [ 65%] 484s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_with_non_string_value PASSED [ 65%] 484s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOUnit::test_line_number_default PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 484s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 484s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 484s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 484s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 484s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 484s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 484s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 484s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 484s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 484s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 484s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_invalid_keyword PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 66%] 485s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_spaces PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_fit PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_overflow PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_multiline PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_escapes PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_wrap_escape_line PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_wrap_wide_stop PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_wrap_escape PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_c_style_comment_error_reporting PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_unusual_line_endings PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_charset_with_space PASSED [ 67%] 485s tests/translate/storage/test_po.py::TestPOFile::test_duplicate_msgid_error PASSED [ 67%] 485s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 485s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 485s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 485s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 485s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 485s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 485s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 485s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 485s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 485s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 485s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 485s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_line_number_default PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 68%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_marktranslatable PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_groups_when_adding_units PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_multiple_files_and_groups PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_unit_to_existing_group PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_unit_to_different_file PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mixed_groups_and_body PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addunit_with_new_false PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace_preservation_across_versions PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_units_between_different_files PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_group_preservation_across_different_namespaces PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_cross_namespace_group_and_file_preservation PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 485s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 487s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 487s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 487s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 487s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 487s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 487s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 487s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 487s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 487s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 487s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 487s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 487s tests/translate/storage/test_properties.py::test_find_delimiter_pos_empty_and_whitespace PASSED [ 69%] 487s tests/translate/storage/test_properties.py::test_find_delimiter_pos_tabs PASSED [ 69%] 487s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 487s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 487s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 487s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 487s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 487s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 487s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestPropUnit::test_line_number_default PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 487s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 487s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 487s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 487s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 487s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 487s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 487s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 487s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 487s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 487s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 487s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 487s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 487s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 487s tests/translate/storage/test_properties.py::TestProp::test_tab_delimiter_parsing PASSED [ 71%] 487s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 487s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 487s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comments PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comments_nested PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comment_with_spaces PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_before_entry PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_between_key_and_equals PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_between_equals_and_value PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_after_value_before_semicolon PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multiple_inline_comments PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_nested_comment PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_inside_value PASSED [ 71%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_trailing_whitespace_after_semicolon PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestProp::test_utf16_bom_no_warning PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 488s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 489s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 489s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 489s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 489s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 489s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 489s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 489s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 489s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 489s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_line_number_default PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_with_blank_lines PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 74%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid_keyword PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 75%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_spaces PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_fit PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_overflow PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_multiline PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_escapes PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_escape_line PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_wide_stop PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_escape PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_c_style_comment_error_reporting PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unusual_line_endings PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_charset_with_space PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_duplicate_msgid_error PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_future_flags PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 489s tests/translate/storage/test_pypo.py::TestPYPOFile::test_line_number PASSED [ 77%] 489s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 489s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 489s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 489s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 489s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 489s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 489s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 489s tests/translate/storage/test_qm.py::TestQtUnit::test_line_number_default PASSED [ 77%] 489s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 489s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 489s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 489s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 489s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 489s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 489s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 489s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 489s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 489s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 489s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 489s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 489s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 489s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 489s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 77%] 489s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 77%] 489s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphUnit::test_line_number_default PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 489s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 489s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 489s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 489s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 489s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 489s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 490s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 490s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 490s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 490s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 78%] 490s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 78%] 490s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 78%] 490s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 78%] 490s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 78%] 490s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 78%] 490s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 78%] 490s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 490s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 490s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 490s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 490s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 490s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 490s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 490s tests/translate/storage/test_rc.py::TestRcFile::test_utf16_pragma_code_page PASSED [ 79%] 490s tests/translate/storage/test_rc.py::TestRcFile::test_utf8_pragma_code_page PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_line_number_default PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 79%] 490s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 79%] 490s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 79%] 490s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 79%] 490s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 79%] 490s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 79%] 490s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 79%] 490s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 79%] 490s tests/translate/storage/test_resx.py::TestRESXUnit::test_line_number_default PASSED [ 79%] 490s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_line_number_default PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 80%] 490s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 80%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 80%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 80%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 80%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 80%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 80%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 80%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_line_number_default PASSED [ 80%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 80%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 80%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 80%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 80%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 80%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 490s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 490s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 81%] 490s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 81%] 490s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 81%] 490s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 81%] 490s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 81%] 490s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 81%] 490s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 81%] 490s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 81%] 490s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 81%] 490s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 81%] 490s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 81%] 490s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 81%] 490s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_ordering PASSED [ 81%] 490s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create_blank PASSED [ 81%] 490s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_add PASSED [ 81%] 490s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_remove PASSED [ 81%] 490s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_find PASSED [ 81%] 490s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_parse PASSED [ 81%] 490s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_files PASSED [ 81%] 490s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_save PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_extensions PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_mimetypes PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_translate PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_markup PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_nonascii PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_ordering PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 490s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_ordering PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_ordering PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_style_preservation PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 82%] 490s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 490s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 490s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 490s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 490s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 490s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 490s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 490s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 490s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_ordering PASSED [ 83%] 490s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_style_preservation PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXUnit::test_line_number_default PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 83%] 490s tests/translate/storage/test_tbx.py::TestTBXfile::test_administrative_status_and_translation_needed PASSED [ 84%] 490s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 490s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 490s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 490s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 490s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 490s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXUnit::test_line_number_default PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_line_number_default PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_context PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 84%] 490s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 490s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 490s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 490s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 490s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 490s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 490s tests/translate/storage/test_tmx.py::TestTMXfile::test_context PASSED [ 85%] 490s tests/translate/storage/test_tmx.py::TestTMXfile::test_note_order PASSED [ 85%] 490s tests/translate/storage/test_tmx.py::TestTMXfile::test_prop_and_note_order PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_isfuzzy PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_create PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_eq PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_escapes PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_difficult_escapes PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_note_sanity PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_line_number_default PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_target PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_rich_get PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_rich_set PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_getlocations PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_create_blank PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_add PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_find PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_parse PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_files PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_save PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_extensions PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_mimetypes PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_translate PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_markup PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_nonascii PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_serialize PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_empty PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_edit PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_edit_unicode PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_parse_unicode_list PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_ordering PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_nested PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline PASSED [ 85%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_boolean PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_integer PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_no_quote_strings PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_double_quote_strings PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_single_quote_strings PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_escaped_double_quotes PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_newlines PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_list PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_inline_table PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_key_nesting PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_add_to_empty PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_dict_in_list PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_remove PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_special PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_extraction_simple PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_extraction_multiline PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_no_comment_backwards_compat PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_simple PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_multiline PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_nested PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_with_modification PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_literal_string PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline_basic_string PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline_literal_string PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_create_blank PASSED [ 86%] 490s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_add PASSED [ 86%] 491s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_remove PASSED [ 86%] 491s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_find PASSED [ 86%] 491s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_parse PASSED [ 86%] 491s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_files PASSED [ 86%] 491s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_save PASSED [ 86%] 491s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_extensions PASSED [ 86%] 491s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_mimetypes PASSED [ 86%] 491s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_translate PASSED [ 86%] 491s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_markup PASSED [ 86%] 491s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_nonascii PASSED [ 86%] 491s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_simple_plural PASSED [ 86%] 491s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_plural_with_other_keys PASSED [ 86%] 491s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_full_plural_forms PASSED [ 86%] 491s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_roundtrip_plural PASSED [ 87%] 491s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_mixed_content PASSED [ 87%] 491s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_letsencrypt_style PASSED [ 87%] 491s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_comment_preservation_goi18n PASSED [ 87%] 491s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_comment_preservation_goi18n_plural PASSED [ 87%] 491s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 491s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 491s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSUnit::test_line_number_default PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 87%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 491s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtUnit::test_line_number_default PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 88%] 491s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 88%] 491s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 88%] 491s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 88%] 491s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 88%] 491s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 88%] 491s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 88%] 491s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 88%] 491s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 491s tests/translate/storage/test_utx.py::TestUtxUnit::test_line_number_default PASSED [ 89%] 491s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 491s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 491s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 491s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 491s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 491s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 491s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 491s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 491s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 491s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 491s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 491s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 491s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 491s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFUnit::test_line_number_default PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 491s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 491s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 491s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 491s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_line_number_default PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_marktranslatable PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_groups_when_adding_units PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_multiple_files_and_groups PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_unit_to_existing_group PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_unit_to_different_file PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mixed_groups_and_body PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addunit_with_new_false PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace_preservation_across_versions PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_units_between_different_files PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_group_preservation_across_different_namespaces PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_cross_namespace_group_and_file_preservation PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 91%] 491s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 91%] 493s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 91%] 493s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 91%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_isfuzzy PASSED [ 91%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_create PASSED [ 91%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_eq PASSED [ 91%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_target PASSED [ 91%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_escapes PASSED [ 91%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_difficult_escapes PASSED [ 91%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_note_sanity PASSED [ 91%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_line_number_default PASSED [ 91%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_rich_get PASSED [ 91%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_rich_set PASSED [ 91%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_notes PASSED [ 91%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_id_management PASSED [ 91%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_marktranslatable PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_create_blank PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_add PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_remove PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_find PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_translate PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_files PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_save PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_markup PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_nonascii PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_extensions PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_mimetypes PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_basic PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_source_target PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_language_attributes PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_namespace PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_unit_structure PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_multiple_units PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse_xliff2 PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse_translate_attribute PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_multiple_segments_per_unit PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_mixed_single_and_multiple_segments PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_segments_without_ids PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_escaped_inline_tags PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_simple_source_target_pairs PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_malformed_xml_declaration PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_variable_placeholders PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_add_unit PASSED [ 92%] 493s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_states PASSED [ 92%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_line_number_default PASSED [ 92%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_simple PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_multiline PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_nested PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_mixed PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_comment_backwards_compat PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline_literal_format PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_blank PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_partial PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_pt_br PASSED [ 94%] 493s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_bug_ruby_remove_zero_few_and_mix_others PASSED [ 94%] 494s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 494s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 494s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 494s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 95%] 494s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 95%] 494s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 95%] 494s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 95%] 494s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 95%] 494s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 95%] 494s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 95%] 494s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 95%] 494s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 95%] 494s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 95%] 494s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 95%] 494s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 95%] 494s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 95%] 494s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 95%] 494s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 95%] 494s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 494s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 494s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 494s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 494s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 494s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 494s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 494s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 494s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 494s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 494s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 494s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 494s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 494s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 494s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 494s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 494s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 494s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 494s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 494s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 494s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 494s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 494s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 494s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 494s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::test_csv_line_terminator PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_fuzzy_with_target PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_fuzzy_without_target PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_translated_not_fuzzy PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_untranslated_empty_target PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_categorization_mutually_exclusive PASSED [ 96%] 494s tests/translate/tools/test_pocount.py::TestPOCountLineEndings::test_unusual_line_endings PASSED [ 96%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank_clears_fuzzy PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank_with_plurals PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 494s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 494s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 494s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 494s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 494s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 494s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 494s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 494s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 494s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 494s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 494s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 494s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 494s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 98%] 494s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 98%] 494s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 98%] 494s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 98%] 494s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 98%] 494s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 98%] 494s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 494s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 494s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 494s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 494s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 494s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 494s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 494s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 494s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 495s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 495s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 495s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 495s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 495s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 495s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 495s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 495s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 495s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 495s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 495s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 495s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 495s tests/translate/tools/test_posegment.py::TestPOSegment::test_transifex_po PASSED [ 98%] 495s tests/translate/tools/test_posegment.py::TestXLIFFSegment::test_xliff_en_simple PASSED [ 98%] 495s tests/translate/tools/test_posegment.py::TestXLIFFSegment::test_xliff_untranslated PASSED [ 98%] 495s tests/translate/tools/test_posegment.py::TestTMXSegment::test_tmx_en_simple PASSED [ 98%] 495s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 495s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_unitinfo_stores_minimal_data PASSED [ 98%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overrides_old PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurrect_obsolete_messages PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overrides_old PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurrect_obsolete_messages PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 495s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 495s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 495s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 495s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 495s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 495s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 495s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 497s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 497s 497s =============================== warnings summary =============================== 497s ../../../usr/lib/python3/dist-packages/pyparsing/core.py:5637 497s Warning: 'return' in a 'finally' block 497s 497s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 497s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AFZJC1/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 497s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 497s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 497s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 497s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 497s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 497s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 497s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 497s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 497s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 497s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 497s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 497s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 497s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 497s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 497s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 497s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 497s Warning: Could not find accesskey for key.accesskey 497s 497s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 497s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 497s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 497s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 497s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 497s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AFZJC1/autopkgtest_tmp/tests/translate/convert/test.idml'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 497s Warning: unclosed file <_io.BufferedReader name='translation.po'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert 497s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert_with_multiple_units 497s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 497s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AFZJC1/autopkgtest_tmp/tests/translate/convert/test.odt'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces 497s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces 497s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 497s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 497s Warning: Could not find accesskey for prop.accesskey 497s 497s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context 497s Warning: unclosed file <_io.BufferedReader name='test.po'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context 497s Warning: unclosed file <_io.TextIOWrapper name='TestPO2TMXCommand_test_context/test.tmx' mode='r' encoding='UTF-8'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 497s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 497s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 497s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 497s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 497s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 497s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 497s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 497s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 497s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 497s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 497s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 497s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 497s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 497s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 497s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 497s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 497s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 497s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 497s 497s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle 497s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle 497s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp5f_w_0qg_test.txt'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save 497s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save 497s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpcz2f69op_crossdevice.txt'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip 497s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip 497s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpd6mk8rm7_initial.txt'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 497s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 497s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpddh5rwfj_load_test.txt'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 497s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 497s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp2hrpqcrd_load_test.txt'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 497s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 497s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp_pc_syxe_file0.txt'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 497s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 497s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp0i297lsb_file1.txt'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 497s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 497s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpqg3fs3ks_file2.txt'> 497s Enable tracemalloc to get traceback where the object was allocated. 497s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 497s 497s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 497s Warning: DTD parse error: :1:35:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 497s :1:35:FATAL:PARSER:ERR_EXT_SUBSET_NOT_FINISHED: Content error in the external subset 497s 497s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 497s Warning: DTD file '' does not validate 497s 497s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 497s --------------------------- snapshot report summary ---------------------------- 497s 23 snapshots passed. 497s =========================== short test summary info ============================ 497s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 497s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 497s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 497s SKIPPED [1] tests/translate/storage/test_mo.py:512: Skip testing command line tools 497s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 497s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:47: Skip testing command line tools 497s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:57: Skip testing command line tools 497s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 497s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 497s XFAIL tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_table - https://github.com/miyuchina/mistletoe/issues/244 497s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 497s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 497s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 497s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 497s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 497s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 497s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 497s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 497s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 497s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 497s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 497s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 497s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 497s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 497s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 497s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 497s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 497s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 497s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 497s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 497s XFAIL tests/translate/storage/test_omegat.py::TestOmegaTFile::test_extensions - This doesn't work, due to two store classes handling different extensions, but factory listing it as one supported file type 497s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 497s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 497s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 497s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 497s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 497s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 497s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 497s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 497s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 497s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 497s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 497s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 497s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 497s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 497s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 497s ========== 3843 passed, 22 skipped, 39 xfailed, 70 warnings in 43.04s ========== 498s ============================= test session starts ============================== 498s platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0 -- /usr/bin/python3.13 498s cachedir: .pytest_cache 498s rootdir: /tmp/autopkgtest.AFZJC1/autopkgtest_tmp 498s plugins: typeguard-4.4.4, syrupy-5.0.0 511s collecting ... collected 3902 items / 2 skipped 511s 511s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 511s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 511s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 511s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 511s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 511s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 511s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 511s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 511s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 511s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 511s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 511s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 511s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 511s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 511s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 511s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 511s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 511s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 511s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 511s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 511s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 511s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 511s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 511s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 511s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 511s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 511s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 511s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 511s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 511s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 511s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 511s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_line_numbers_in_errors PASSED [ 0%] 511s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 511s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 511s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 0%] 511s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 0%] 511s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 0%] 511s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 0%] 511s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 0%] 511s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 511s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_line_numbers_in_errors PASSED [ 1%] 511s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 511s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 511s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 1%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 1%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 1%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 1%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 1%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 1%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 1%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 1%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 1%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 512s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 512s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 512s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 2%] 512s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 2%] 512s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 2%] 512s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 2%] 512s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 2%] 512s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 2%] 512s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 2%] 512s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 2%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 2%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 2%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 2%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 2%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 2%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 2%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 3%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_ignore_attribute PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_translate_comment_directives PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_social_media_tags PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_non_translatable_tags_not_extracted PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_mixed_translatable_and_non_translatable PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_comment_attribute PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_comment_without_keepcomments PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2PO::test_text_after_empty_tags PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 4%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_ignore_attribute PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_translate_comment_directives PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_social_media_tags PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_non_translatable_tags_not_extracted PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_mixed_translatable_and_non_translatable PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_comment_attribute PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_comment_without_keepcomments PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_text_after_empty_tags PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 512s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 5%] 512s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 5%] 512s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 5%] 512s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 5%] 512s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 5%] 512s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 5%] 512s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 5%] 512s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 5%] 512s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 5%] 512s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 5%] 512s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 5%] 512s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 5%] 512s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 5%] 512s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 5%] 512s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 512s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 512s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 512s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 512s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 512s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 512s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 512s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 512s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 512s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 512s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 512s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 512s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 512s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 512s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 512s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 512s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 512s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 512s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 512s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 6%] 512s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 6%] 512s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 6%] 512s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 6%] 512s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 6%] 512s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 6%] 512s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 6%] 512s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 6%] 512s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 6%] 512s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 6%] 512s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 6%] 512s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 6%] 512s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 6%] 512s tests/translate/convert/test_json2po.py::TestJson2PO::test_multiple_units PASSED [ 6%] 512s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 6%] 512s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 6%] 512s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 6%] 512s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_multiple_units PASSED [ 6%] 512s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 6%] 512s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 6%] 512s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 512s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 512s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 512s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 512s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_frontmatter PASSED [ 7%] 512s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_translation_ignore_sections PASSED [ 7%] 512s tests/translate/convert/test_moz2po.py::TestMoz2PO::test_duplicate_locations PASSED [ 7%] 512s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_duplicate_locations PASSED [ 7%] 512s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 512s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 512s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 512s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 512s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 512s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 512s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 512s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 512s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 512s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 512s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 7%] 512s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 7%] 512s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 7%] 512s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 7%] 512s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 7%] 512s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 7%] 512s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 7%] 512s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 7%] 512s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 7%] 512s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 7%] 512s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 7%] 512s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 7%] 512s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 7%] 512s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 7%] 512s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 7%] 512s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 7%] 512s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 7%] 512s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 7%] 512s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 7%] 512s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 7%] 512s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 7%] 512s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 512s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 512s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 512s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 512s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 512s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 512s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 512s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 512s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 512s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 512s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 512s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 512s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 512s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 8%] 512s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 8%] 512s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 8%] 512s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 8%] 512s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 8%] 512s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 8%] 512s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 8%] 512s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 8%] 512s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 512s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 8%] 512s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 512s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 512s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 512s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 512s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 512s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 512s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 8%] 512s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 512s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 8%] 512s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 512s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 512s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 8%] 512s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 8%] 512s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 8%] 512s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 8%] 512s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 8%] 512s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 512s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 512s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 512s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 512s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 512s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 512s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 512s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 9%] 512s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 9%] 512s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 9%] 512s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 9%] 512s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 9%] 512s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 9%] 512s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 9%] 512s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 9%] 512s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 9%] 512s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 9%] 512s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 9%] 512s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 9%] 512s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 9%] 513s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 9%] 513s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 9%] 513s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 9%] 513s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 9%] 513s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 9%] 513s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 9%] 513s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 9%] 513s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 9%] 513s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 9%] 513s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 9%] 513s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 9%] 513s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 9%] 513s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 9%] 513s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 9%] 513s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 9%] 513s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 9%] 513s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 9%] 513s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 9%] 513s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 9%] 513s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 513s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 513s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 10%] 513s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 10%] 513s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 10%] 513s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 10%] 513s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 10%] 513s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 10%] 513s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 10%] 513s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 10%] 513s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 10%] 513s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 10%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 11%] 513s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 11%] 513s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 11%] 513s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 11%] 513s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 11%] 513s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 11%] 513s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 11%] 513s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 11%] 513s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 11%] 513s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 11%] 513s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 11%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities_template_vs_po_mismatch PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_utf8_non_ascii_characters PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_custom_entities_preserved PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_auto_rtl PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_auto_ltr PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_added_when_missing PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_not_changed_without_lang_translation PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_button_translation PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_lang_attribute_only_on_html_tag PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_data_translate_ignore_preserved PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_translate_comment_directives_preserved PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_data_translate_ignore_with_translation_in_po PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_translate_comment_with_translation_in_po PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_meta_social_media_tags_translation PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2Html::test_meta_non_translatable_tags_preserved PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities_template_vs_po_mismatch PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_utf8_non_ascii_characters PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_custom_entities_preserved PASSED [ 12%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_auto_rtl PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_auto_ltr PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_added_when_missing PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_not_changed_without_lang_translation PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_button_translation PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_lang_attribute_only_on_html_tag PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_data_translate_ignore_preserved PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_translate_comment_directives_preserved PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_data_translate_ignore_with_translation_in_po PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_translate_comment_with_translation_in_po PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_meta_social_media_tags_translation PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_meta_non_translatable_tags_preserved PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 13%] 513s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 13%] 513s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 13%] 513s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 13%] 513s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 13%] 513s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 13%] 513s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 13%] 513s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 13%] 513s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 13%] 513s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 13%] 513s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 13%] 513s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 13%] 513s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 13%] 513s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 13%] 513s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 13%] 513s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 13%] 513s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 513s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 513s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 513s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 513s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 513s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 513s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 513s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 513s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 513s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 513s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 513s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 14%] 513s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 14%] 513s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 513s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 513s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 513s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 513s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 513s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 15%] 513s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 15%] 513s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 15%] 513s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 15%] 513s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 15%] 513s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 15%] 513s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 15%] 513s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 15%] 513s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 15%] 513s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 15%] 513s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 15%] 513s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_table XFAIL [ 15%] 513s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_frontmatter PASSED [ 15%] 513s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_translation_ignore_sections PASSED [ 15%] 513s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 15%] 513s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 15%] 513s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 15%] 513s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 15%] 513s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 15%] 513s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 15%] 513s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 15%] 513s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 15%] 513s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 15%] 513s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 15%] 513s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 15%] 513s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 15%] 513s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 15%] 513s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 15%] 513s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 15%] 513s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 15%] 513s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 15%] 513s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 15%] 513s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 15%] 513s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 15%] 513s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 513s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 513s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_help PASSED [ 16%] 513s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert PASSED [ 16%] 513s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert_with_multiple_units PASSED [ 16%] 513s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 513s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 16%] 513s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 16%] 513s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 16%] 513s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 16%] 513s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 16%] 513s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 16%] 513s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 16%] 513s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 16%] 513s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 16%] 513s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 16%] 513s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 16%] 513s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 16%] 513s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 16%] 513s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 16%] 513s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 16%] 513s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 16%] 513s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 16%] 513s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 16%] 513s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 16%] 513s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 16%] 513s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 16%] 513s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 16%] 513s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 16%] 513s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 16%] 513s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 16%] 513s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 16%] 513s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 16%] 513s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 16%] 513s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 16%] 513s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 16%] 513s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 16%] 513s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 16%] 513s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 16%] 513s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2Php::test_return_array_with_comments PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_return_array_with_comments PASSED [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 17%] 513s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 17%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 17%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 17%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 17%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 17%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 17%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 17%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_value_no_key PASSED [ 17%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 17%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 17%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 17%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 17%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_utf16_with_empty_lines PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_value_no_key PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 18%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 19%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 19%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 19%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_utf16_with_empty_lines PASSED [ 19%] 513s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 19%] 513s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 19%] 514s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 19%] 514s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 19%] 514s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 19%] 514s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 19%] 514s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 19%] 514s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 19%] 514s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 19%] 514s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 19%] 514s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 19%] 514s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 19%] 514s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 19%] 514s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 19%] 514s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes_strintable PASSED [ 19%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 19%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 19%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 19%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 19%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 19%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 19%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 19%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 19%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 19%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 19%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 19%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 19%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 19%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 19%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 19%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 19%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 19%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 19%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_plus_in_resourcekey PASSED [ 19%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_special_chars_in_resourcekey PASSED [ 19%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 20%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 20%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 20%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 20%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 20%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 20%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 20%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 20%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 20%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 20%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 20%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 20%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 20%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 20%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 20%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 20%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_plus_in_resourcekey PASSED [ 20%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_special_chars_in_resourcekey PASSED [ 20%] 514s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 20%] 514s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 20%] 514s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 20%] 514s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 20%] 514s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 20%] 514s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 20%] 514s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 20%] 514s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 20%] 514s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 20%] 514s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 20%] 514s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 20%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 20%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 20%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 20%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 20%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 20%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 20%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 20%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 20%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 21%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 21%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 21%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 21%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 21%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 21%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 21%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 21%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 21%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 21%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 21%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 21%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 21%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 21%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 21%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 21%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 21%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 21%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 21%] 514s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context PASSED [ 21%] 514s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_simple_convert PASSED [ 21%] 514s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_nested_convert PASSED [ 21%] 514s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_template_required PASSED [ 21%] 514s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_untranslated_uses_source PASSED [ 21%] 514s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 21%] 514s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 21%] 514s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 21%] 514s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 21%] 514s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 21%] 514s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 21%] 514s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 21%] 514s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 21%] 514s tests/translate/convert/test_po2ts.py::TestPO2TS::test_plural PASSED [ 21%] 514s tests/translate/convert/test_po2ts.py::TestPO2TS::test_plural_fuzzy PASSED [ 21%] 514s tests/translate/convert/test_po2ts.py::TestPO2TS::test_unit_without_location PASSED [ 21%] 514s tests/translate/convert/test_po2ts.py::TestPO2TS::test_mixed_units_with_and_without_location PASSED [ 21%] 514s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 21%] 514s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 21%] 514s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 21%] 514s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 22%] 514s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 22%] 514s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 22%] 514s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 22%] 514s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 22%] 514s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_plural PASSED [ 22%] 514s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_plural_fuzzy PASSED [ 22%] 514s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_unit_without_location PASSED [ 22%] 514s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_mixed_units_with_and_without_location PASSED [ 22%] 514s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_substring_replacement PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_duplicate_text_segment_based_replacement PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_dokuwiki_flavour_segmentation PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_substring_replacement PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_duplicate_text_segment_based_replacement PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_dokuwiki_flavour_segmentation PASSED [ 22%] 514s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 22%] 514s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 22%] 514s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 22%] 514s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 22%] 514s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 22%] 514s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 22%] 514s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 22%] 514s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 23%] 514s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 23%] 514s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 23%] 514s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 23%] 514s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 23%] 514s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 23%] 514s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 23%] 514s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 23%] 514s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 23%] 514s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 23%] 514s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 23%] 515s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 23%] 515s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 23%] 515s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 23%] 515s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 23%] 515s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 23%] 515s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 23%] 515s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 23%] 515s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 23%] 515s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 23%] 515s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 23%] 515s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 23%] 515s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 23%] 515s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 23%] 515s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 23%] 515s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 23%] 515s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 23%] 515s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 23%] 515s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 23%] 515s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 23%] 515s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 23%] 515s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 23%] 515s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 23%] 515s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 23%] 515s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 23%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 23%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 23%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 23%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 23%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overrides_old PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurrect_obsolete_messages PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurrect_obsolete_messages_into_msgidcomment PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 24%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overrides_old PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurrect_obsolete_messages PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurrect_obsolete_messages_into_msgidcomment PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 25%] 515s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 25%] 515s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 25%] 515s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 25%] 515s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 25%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 25%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 25%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 25%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 25%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_value_no_key_entry PASSED [ 25%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 25%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 25%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 25%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 25%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 25%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_locations_mozilla PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_strings_bilingual_simple PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2PO::test_strings_bilingual_multiline PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_value_no_key_entry PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_locations_mozilla PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 26%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 27%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_strings_bilingual_simple PASSED [ 27%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_strings_bilingual_multiline PASSED [ 27%] 515s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 27%] 515s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 27%] 515s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 27%] 515s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 27%] 515s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 27%] 515s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 27%] 515s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 27%] 515s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 27%] 515s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 27%] 515s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 27%] 515s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 27%] 515s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 27%] 515s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 27%] 515s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 27%] 516s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 27%] 516s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 27%] 516s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 27%] 516s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 27%] 516s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 27%] 516s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 27%] 516s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 27%] 516s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 27%] 516s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 27%] 516s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 27%] 516s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 27%] 516s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 27%] 516s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 27%] 516s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 27%] 516s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_simple_convert PASSED [ 27%] 516s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_nested_convert PASSED [ 27%] 516s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_comment_extraction PASSED [ 27%] 516s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_merge_with_template PASSED [ 27%] 516s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 27%] 516s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 27%] 516s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 27%] 516s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 27%] 516s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 28%] 516s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 28%] 516s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 28%] 516s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 28%] 516s tests/translate/convert/test_ts2po.py::TestTS2PO::test_plural PASSED [ 28%] 516s tests/translate/convert/test_ts2po.py::TestTS2PO::test_plural_unfinished PASSED [ 28%] 516s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 28%] 516s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 28%] 516s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 28%] 516s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 28%] 516s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 28%] 516s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 28%] 516s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 28%] 516s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 28%] 516s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_plural PASSED [ 28%] 516s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_plural_unfinished PASSED [ 28%] 516s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 28%] 516s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 29%] 516s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 29%] 516s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 29%] 516s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 29%] 516s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 29%] 516s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 29%] 516s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 29%] 516s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 29%] 516s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 29%] 516s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 29%] 516s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 29%] 516s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 29%] 516s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 29%] 516s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 29%] 516s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 29%] 516s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 29%] 516s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 29%] 516s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 29%] 516s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 29%] 516s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 29%] 516s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 29%] 516s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 29%] 516s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 29%] 516s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 29%] 516s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 29%] 517s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 29%] 517s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 29%] 517s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 29%] 517s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 29%] 517s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 29%] 517s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 29%] 517s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 29%] 517s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 29%] 517s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 29%] 517s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 29%] 517s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 29%] 517s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 29%] 517s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 29%] 517s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 29%] 517s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 30%] 517s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 30%] 517s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 30%] 517s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_comment_extraction PASSED [ 30%] 517s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_comment_extraction_nested PASSED [ 30%] 517s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 30%] 517s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 30%] 517s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 30%] 517s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 30%] 517s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 30%] 517s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 30%] 517s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_comment_extraction PASSED [ 30%] 517s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_comment_extraction_nested PASSED [ 30%] 517s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 30%] 517s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 30%] 517s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 30%] 517s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 30%] 517s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 30%] 517s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 30%] 517s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 30%] 517s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 30%] 517s tests/translate/filters/test_checks.py::test_defaults PASSED [ 30%] 517s tests/translate/filters/test_checks.py::test_construct PASSED [ 30%] 517s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 30%] 517s tests/translate/filters/test_checks.py::test_messages PASSED [ 30%] 517s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 30%] 517s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 30%] 517s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 30%] 517s tests/translate/filters/test_checks.py::test_blank PASSED [ 30%] 517s tests/translate/filters/test_checks.py::test_brackets PASSED [ 30%] 517s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 30%] 517s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 30%] 517s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 30%] 517s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 30%] 517s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 30%] 517s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 30%] 517s tests/translate/filters/test_checks.py::test_escapes PASSED [ 30%] 517s tests/translate/filters/test_checks.py::test_newlines PASSED [ 30%] 517s tests/translate/filters/test_checks.py::test_tabs PASSED [ 30%] 517s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_long PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 31%] 517s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_numbers PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_options PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_printf PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_short PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 31%] 517s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 31%] 517s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 31%] 517s tests/translate/filters/test_checks.py::test_validchars PASSED [ 31%] 518s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 31%] 518s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 31%] 518s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 31%] 518s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 31%] 518s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 31%] 518s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 31%] 518s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 31%] 518s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 31%] 518s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 31%] 518s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 31%] 518s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 32%] 518s tests/translate/filters/test_checks.py::test_functions PASSED [ 32%] 518s tests/translate/filters/test_checks.py::test_emails PASSED [ 32%] 518s tests/translate/filters/test_checks.py::test_urls PASSED [ 32%] 518s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 32%] 518s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 32%] 518s tests/translate/filters/test_checks.py::test_credits PASSED [ 32%] 518s tests/translate/filters/test_checks.py::test_gconf PASSED [ 32%] 518s tests/translate/filters/test_checks.py::test_validxml PASSED [ 32%] 518s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 32%] 518s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 32%] 518s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 32%] 518s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 32%] 518s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 32%] 518s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 32%] 518s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 32%] 518s tests/translate/filters/test_checks.py::test_category PASSED [ 32%] 518s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 32%] 518s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 32%] 518s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 32%] 518s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 32%] 518s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 32%] 518s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 32%] 518s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 32%] 518s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 32%] 518s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 32%] 518s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existent_check PASSED [ 32%] 518s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 32%] 518s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 32%] 518s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 32%] 518s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 32%] 518s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 32%] 518s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 32%] 518s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 32%] 518s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 32%] 518s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 32%] 518s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 32%] 518s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 32%] 518s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 32%] 518s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existent_check PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existent_check PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existent_check PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 33%] 518s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 33%] 519s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 33%] 519s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 33%] 519s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 34%] 519s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 34%] 519s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 34%] 519s tests/translate/lang/test_af.py::test_sentences PASSED [ 34%] 519s tests/translate/lang/test_af.py::test_capsstart PASSED [ 34%] 519s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 34%] 519s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 34%] 519s tests/translate/lang/test_am.py::test_sentences PASSED [ 34%] 519s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 34%] 519s tests/translate/lang/test_ar.py::test_sentences PASSED [ 34%] 519s tests/translate/lang/test_common.py::test_characters PASSED [ 34%] 519s tests/translate/lang/test_common.py::test_words PASSED [ 34%] 519s tests/translate/lang/test_common.py::test_word_khmer PASSED [ 34%] 519s tests/translate/lang/test_common.py::test_sentences PASSED [ 34%] 519s tests/translate/lang/test_common.py::test_capsstart PASSED [ 34%] 519s tests/translate/lang/test_common.py::test_numstart PASSED [ 34%] 519s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 34%] 519s tests/translate/lang/test_common.py::test_length_difference PASSED [ 34%] 519s tests/translate/lang/test_common.py::test_alter_length PASSED [ 34%] 519s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 34%] 519s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 34%] 519s tests/translate/lang/test_data.py::test_is_rtl PASSED [ 34%] 519s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 34%] 519s tests/translate/lang/test_el.py::test_sentences PASSED [ 34%] 519s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 34%] 519s tests/translate/lang/test_es.py::test_sentences PASSED [ 34%] 519s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 34%] 519s tests/translate/lang/test_fa.py::test_sentences PASSED [ 34%] 519s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 34%] 519s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 34%] 519s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 34%] 519s tests/translate/lang/test_fr.py::test_sentences PASSED [ 34%] 519s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 34%] 519s tests/translate/lang/test_hy.py::test_sentences PASSED [ 34%] 519s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 34%] 519s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 34%] 519s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 34%] 519s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 34%] 519s tests/translate/lang/test_ja.py::test_sentences PASSED [ 34%] 519s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 35%] 519s tests/translate/lang/test_km.py::test_sentences PASSED [ 35%] 519s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 35%] 519s tests/translate/lang/test_ko.py::test_sentences PASSED [ 35%] 519s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 35%] 519s tests/translate/lang/test_ne.py::test_sentences PASSED [ 35%] 519s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 35%] 519s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 35%] 519s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 35%] 519s tests/translate/lang/test_or.py::test_country_code PASSED [ 35%] 519s tests/translate/lang/test_or.py::test_sentences PASSED [ 35%] 519s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 35%] 519s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 35%] 519s tests/translate/lang/test_ro.py::test_niciun PASSED [ 35%] 519s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 35%] 519s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 35%] 519s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 35%] 519s tests/translate/lang/test_team.py::test_simple PASSED [ 35%] 519s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 35%] 519s tests/translate/lang/test_th.py::test_sentences PASSED [ 35%] 519s tests/translate/lang/test_tr.py::test_sentences PASSED [ 35%] 519s tests/translate/lang/test_uk.py::test_sentences PASSED [ 35%] 519s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 35%] 519s tests/translate/lang/test_vi.py::test_sentences PASSED [ 35%] 519s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 35%] 519s tests/translate/lang/test_zh.py::test_sentences PASSED [ 35%] 519s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 35%] 519s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 35%] 519s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 35%] 519s tests/translate/misc/test_dictutils.py::test_cidict_pop PASSED [ 35%] 519s tests/translate/misc/test_dictutils.py::test_cidict_getitem PASSED [ 35%] 519s tests/translate/misc/test_dictutils.py::test_cidict_setitem PASSED [ 35%] 519s tests/translate/misc/test_dictutils.py::test_cidict_delitem PASSED [ 35%] 519s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 35%] 519s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 35%] 519s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 35%] 519s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 35%] 519s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 35%] 519s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 35%] 519s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 36%] 519s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 36%] 519s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 36%] 519s tests/translate/misc/test_multistring.py::TestMultistring::test_bool PASSED [ 36%] 519s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 36%] 519s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 36%] 519s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 36%] 519s tests/translate/misc/test_quote.py::test_find_all PASSED [ 36%] 519s tests/translate/misc/test_quote.py::test_extract PASSED [ 36%] 519s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 36%] 519s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 36%] 519s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 36%] 519s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 36%] 519s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_iso_8859_1 PASSED [ 36%] 519s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_ascii PASSED [ 36%] 519s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_unicode_range PASSED [ 36%] 519s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 36%] 519s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 36%] 519s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 36%] 519s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 36%] 519s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 36%] 519s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 36%] 519s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 36%] 519s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 36%] 519s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 36%] 519s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 36%] 519s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 36%] 519s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 36%] 519s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 36%] 519s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 36%] 519s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 36%] 519s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 36%] 519s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 36%] 519s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 36%] 519s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 36%] 519s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 36%] 519s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 36%] 519s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 36%] 519s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 36%] 519s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 37%] 519s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 37%] 519s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 37%] 520s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 37%] 520s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 37%] 520s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 37%] 520s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 37%] 520s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 37%] 520s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 37%] 520s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 37%] 520s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 37%] 520s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 37%] 520s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 37%] 520s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 37%] 520s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 37%] 520s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 37%] 520s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 38%] 520s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 38%] 520s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 38%] 520s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 38%] 520s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 38%] 520s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 38%] 520s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 38%] 520s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 38%] 520s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 38%] 520s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 38%] 520s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 38%] 520s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_line_number_default PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 38%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 39%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_xml PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 40%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse_decimal_plurals PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_to_plurals PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_empty_missing_plural_tag PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_line_number_default PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escape_quote PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 41%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_isfuzzy PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_create PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_eq PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_escapes PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_difficult_escapes PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_note_sanity PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_line_number_default PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_target PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_rich_get PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_rich_set PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_escape_quote PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_create_blank PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_add PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_remove PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_find PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_parse PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_files PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_save PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_extensions PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_mimetypes PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_translate PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_markup PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_nonascii PASSED [ 42%] 520s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_quote_escape PASSED [ 42%] 520s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 42%] 520s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 42%] 520s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 42%] 520s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 42%] 520s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 42%] 520s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 520s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 520s tests/translate/storage/test_base.py::TestTranslationUnit::test_line_number_default PASSED [ 43%] 520s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 43%] 520s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 43%] 520s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 43%] 520s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 43%] 520s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 43%] 520s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 43%] 520s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 43%] 520s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 43%] 520s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 43%] 520s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 43%] 520s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 43%] 520s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 43%] 520s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 43%] 520s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 43%] 520s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_create_empty_bundle PASSED [ 43%] 520s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_create_bundle_from_nonexistent_file PASSED [ 43%] 520s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle PASSED [ 43%] 520s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save PASSED [ 43%] 520s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip PASSED [ 43%] 520s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle PASSED [ 43%] 520s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_update_file_in_bundle PASSED [ 43%] 520s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle PASSED [ 43%] 520s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_invalid_bundle_error PASSED [ 43%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 43%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 43%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 43%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 43%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 43%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_line_number_default PASSED [ 43%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 43%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 43%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 43%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 43%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 43%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 43%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 43%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 44%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 44%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 44%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 44%] 520s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_line_number_default PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 44%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 45%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 45%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 45%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 45%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 45%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding_save PASSED [ 45%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_id_target PASSED [ 45%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_context_target PASSED [ 45%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_key_translation PASSED [ 45%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_roundtrip PASSED [ 45%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_context_roundtrip PASSED [ 45%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_id_context_roundtrip PASSED [ 45%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_target_only_roundtrip PASSED [ 45%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_quote_nonnumeric_handling PASSED [ 45%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_quote_nonnumeric_with_single_quotes PASSED [ 45%] 520s tests/translate/storage/test_csvl10n.py::TestCSV::test_line_number PASSED [ 45%] 520s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 45%] 520s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 45%] 520s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 45%] 520s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 45%] 520s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 45%] 520s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 45%] 520s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 45%] 520s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 45%] 520s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 45%] 520s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 45%] 520s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 45%] 520s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 45%] 520s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 45%] 520s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 45%] 520s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 45%] 520s tests/translate/storage/test_dtd.py::TestDTDUnit::test_line_number_default PASSED [ 45%] 520s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 45%] 520s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 45%] 520s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 45%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 45%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 45%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 46%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 46%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 46%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 46%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 46%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 46%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 46%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 46%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 46%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 46%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 46%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 46%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 46%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 46%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 46%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 46%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 46%] 520s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 46%] 521s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 46%] 521s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 46%] 521s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 46%] 521s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 46%] 521s tests/translate/storage/test_dtd.py::TestDTD::test_multiple_blank_lines PASSED [ 46%] 521s tests/translate/storage/test_dtd.py::TestDTD::test_entity_with_extra_spaces PASSED [ 46%] 521s tests/translate/storage/test_dtd.py::TestDTD::test_mixed_content_preservation PASSED [ 46%] 521s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 46%] 521s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 46%] 521s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 46%] 521s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 46%] 521s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 46%] 521s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 46%] 521s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 46%] 521s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 46%] 521s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 46%] 521s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 521s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 521s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 47%] 521s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 47%] 521s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 47%] 521s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 47%] 521s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 47%] 521s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 47%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 47%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 47%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 47%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 47%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_line_number_default PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 48%] 521s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 48%] 521s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 48%] 521s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 48%] 521s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 48%] 521s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 48%] 521s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 48%] 521s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 48%] 521s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 48%] 521s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 48%] 521s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 48%] 521s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 48%] 521s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 48%] 521s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_button PASSED [ 48%] 521s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_lang_attribute PASSED [ 48%] 521s tests/translate/storage/test_html.py::TestHTMLExtraction::test_dir_attribute_not_extracted PASSED [ 49%] 521s tests/translate/storage/test_html.py::TestHTMLExtraction::test_data_translate_ignore_attribute PASSED [ 49%] 521s tests/translate/storage/test_html.py::TestHTMLExtraction::test_translate_comment_directives PASSED [ 49%] 521s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_social_media_tags PASSED [ 49%] 521s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_non_translatable_tags PASSED [ 49%] 521s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_mixed_translatable_and_non_translatable PASSED [ 49%] 521s tests/translate/storage/test_html.py::TestHTMLExtraction::test_data_translate_comment_attribute PASSED [ 49%] 521s tests/translate/storage/test_html_context.py::test_html_context_basic PASSED [ 49%] 521s tests/translate/storage/test_html_context.py::test_html_context_attribute PASSED [ 49%] 521s tests/translate/storage/test_html_context.py::test_html_context_attribute_with_id PASSED [ 49%] 521s tests/translate/storage/test_html_context.py::test_html_context_same_source_different_contexts PASSED [ 49%] 521s tests/translate/storage/test_html_context.py::test_html_context_nested_outer_wins PASSED [ 49%] 521s tests/translate/storage/test_html_context.py::test_html_context_absent PASSED [ 49%] 521s tests/translate/storage/test_html_context.py::test_html_context_id_overridden_by_explicit PASSED [ 49%] 521s tests/translate/storage/test_html_context.py::test_html_context_id_not_used_when_no_duplicates PASSED [ 49%] 521s tests/translate/storage/test_html_context.py::test_html_context_id_not_used_when_data_translate_context_identical PASSED [ 49%] 521s tests/translate/storage/test_html_context.py::test_html_context_disambiguates_duplicates_with_id PASSED [ 49%] 521s tests/translate/storage/test_html_context.py::test_html_context_disambiguates_duplicates_with_ancestor_id PASSED [ 49%] 521s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 49%] 521s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 49%] 521s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 49%] 521s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 49%] 521s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 49%] 521s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 49%] 521s tests/translate/storage/test_ini.py::TestINIUnit::test_line_number_default PASSED [ 49%] 521s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 49%] 521s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 49%] 521s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 49%] 521s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 49%] 521s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 49%] 521s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 49%] 521s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 49%] 521s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 49%] 521s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 49%] 521s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 49%] 521s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 49%] 521s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 49%] 521s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 49%] 521s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 49%] 521s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 521s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 521s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_line_number_default PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 50%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_line_number_default PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_line_number_default PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 51%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_comments PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 52%] 521s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 53%] 521s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 54%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_invalid_nesting PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_empty_metadata_not_stored PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_invalid PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_isfuzzy PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_create PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_eq PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_escapes PASSED [ 55%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_difficult_escapes PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_note_sanity PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_line_number_default PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_target PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_rich_get PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_rich_set PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_source_property_maps_to_id PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_source_roundtrip PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_create_blank PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_remove PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_find PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_files PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_save PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_extensions PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_mimetypes PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_translate PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_markup PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_nonascii PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse_simple PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_serialize_simple PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse_with_plurals PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_preserve_plural_form PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_roundtrip_with_plurals PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_ignore_non_translations_keys PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_preserve_other_metadata PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add_unit PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add_plural_unit PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_empty_translations PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_create_blank PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_add PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_remove PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_find PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_parse PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_files PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_save PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_extensions PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_mimetypes PASSED [ 56%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_translate PASSED [ 57%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_markup PASSED [ 57%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_nonascii PASSED [ 57%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_roundtrip PASSED [ 57%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_basic_parsing PASSED [ 57%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_multiple_metadata PASSED [ 57%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_no_metadata PASSED [ 57%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_edit_target PASSED [ 57%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_edit_notes PASSED [ 57%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_keys_with_dots PASSED [ 57%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_leading_dot_keys PASSED [ 57%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_invalid_nesting PASSED [ 57%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_property_get_set PASSED [ 57%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_property_persists PASSED [ 57%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_getcontext_returns_id PASSED [ 57%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_parsing_preserves_order PASSED [ 57%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_metadata_without_translation PASSED [ 57%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_complex_keys_with_multiple_dots PASSED [ 57%] 521s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_empty_string PASSED [ 57%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_basic PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_with_markup PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_with_code_block PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_multiple_ignore_sections PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_at_start PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_at_end PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_nested_structures_in_ignore PASSED [ 58%] 521s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_link_references_in_ignore PASSED [ 58%] 521s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 521s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 521s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 521s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 521s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 521s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 521s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 521s tests/translate/storage/test_mo.py::TestMOUnit::test_line_number_default PASSED [ 58%] 521s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 521s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 521s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 521s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 521s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 521s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 521s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 59%] 521s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 59%] 521s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 59%] 521s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 59%] 521s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 59%] 521s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 59%] 521s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 59%] 521s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 59%] 521s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 521s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 521s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 521s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 59%] 521s tests/translate/storage/test_mo.py::TestMOFile::test_endian_version_parsing PASSED [ 59%] 521s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 521s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 521s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 521s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 521s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 522s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 522s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_line_number_default PASSED [ 59%] 522s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 522s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 522s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 522s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 522s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 522s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 522s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 522s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 522s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 522s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 522s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 522s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 522s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 522s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 522s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 522s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 522s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 522s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 522s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 522s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[\u015e\u0167\u0159\u012b\u019e\u0260 {ok}-\u015e\u0167\u0159\u012b\u019e\u0260] PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_line_number_default PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 522s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_line_number PASSED [ 61%] 522s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_isfuzzy PASSED [ 61%] 522s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_create PASSED [ 61%] 522s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_eq PASSED [ 61%] 522s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_target PASSED [ 61%] 522s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_escapes PASSED [ 61%] 522s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_difficult_escapes PASSED [ 61%] 522s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_note_sanity PASSED [ 61%] 522s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_line_number_default PASSED [ 61%] 522s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_rich_get PASSED [ 61%] 522s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_rich_set PASSED [ 61%] 522s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_create_blank PASSED [ 61%] 522s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_add PASSED [ 61%] 522s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_remove PASSED [ 61%] 522s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_find PASSED [ 61%] 522s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_translate PASSED [ 61%] 522s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_parse PASSED [ 61%] 522s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_files PASSED [ 61%] 522s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_save PASSED [ 61%] 522s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_markup PASSED [ 61%] 522s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_nonascii PASSED [ 61%] 522s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_mimetypes PASSED [ 61%] 522s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_extensions XFAIL [ 61%] 522s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 522s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 522s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 522s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 522s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 522s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 522s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 522s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 522s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 522s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpUnit::test_line_number_default PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 62%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 522s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 63%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_with_spaces PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_with_comments PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_line_number_default PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping_array_syntax PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping_numeric_keys PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_roundtrip_short_array PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_roundtrip_array_syntax PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_preserves_structure PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_with_array_syntax PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_addunit_with_setid PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_unit_to_short_array_file PASSED [ 64%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_unit_to_array_function_file PASSED [ 65%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_multiple_units_to_short_array PASSED [ 65%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_multiple_units_to_array_function PASSED [ 65%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_numeric_keys_no_quotes PASSED [ 65%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_empty_string_key PASSED [ 65%] 523s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_with_non_string_value PASSED [ 65%] 523s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOUnit::test_line_number_default PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 523s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 524s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 524s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 524s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 524s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 524s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 524s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 524s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_invalid_keyword PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 66%] 524s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_spaces PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_fit PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_overflow PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_multiline PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_escapes PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_wrap_escape_line PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_wrap_wide_stop PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_wrap_escape PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_c_style_comment_error_reporting PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_unusual_line_endings PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_charset_with_space PASSED [ 67%] 524s tests/translate/storage/test_po.py::TestPOFile::test_duplicate_msgid_error PASSED [ 67%] 524s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 524s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 524s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 524s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 524s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 524s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 524s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 524s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 524s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 524s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 524s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 524s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_line_number_default PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 68%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_marktranslatable PASSED [ 69%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_groups_when_adding_units PASSED [ 69%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_multiple_files_and_groups PASSED [ 69%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_unit_to_existing_group PASSED [ 69%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_unit_to_different_file PASSED [ 69%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mixed_groups_and_body PASSED [ 69%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addunit_with_new_false PASSED [ 69%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace_preservation_across_versions PASSED [ 69%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_units_between_different_files PASSED [ 69%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_group_preservation_across_different_namespaces PASSED [ 69%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_cross_namespace_group_and_file_preservation PASSED [ 69%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 524s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 526s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 526s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 526s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 526s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 526s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 526s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 526s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 526s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 526s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 526s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 526s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 526s tests/translate/storage/test_properties.py::test_find_delimiter_pos_empty_and_whitespace PASSED [ 69%] 526s tests/translate/storage/test_properties.py::test_find_delimiter_pos_tabs PASSED [ 69%] 526s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 526s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 526s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 526s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 526s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 526s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 526s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestPropUnit::test_line_number_default PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 526s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_tab_delimiter_parsing PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comments PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comments_nested PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comment_with_spaces PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_before_entry PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_between_key_and_equals PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_between_equals_and_value PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_after_value_before_semicolon PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multiple_inline_comments PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_nested_comment PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_inside_value PASSED [ 71%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_trailing_whitespace_after_semicolon PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestProp::test_utf16_bom_no_warning PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 526s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 73%] 526s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 526s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 526s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 526s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 526s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 527s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 527s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 527s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 527s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_line_number_default PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_with_blank_lines PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 74%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid_keyword PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 75%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_spaces PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_fit PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_overflow PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_multiline PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_escapes PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_escape_line PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_wide_stop PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_escape PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_c_style_comment_error_reporting PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unusual_line_endings PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_charset_with_space PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_duplicate_msgid_error PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_future_flags PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 527s tests/translate/storage/test_pypo.py::TestPYPOFile::test_line_number PASSED [ 77%] 527s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 527s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 527s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 527s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 527s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 527s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 527s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 527s tests/translate/storage/test_qm.py::TestQtUnit::test_line_number_default PASSED [ 77%] 527s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 527s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 527s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 527s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 527s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 527s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 527s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 527s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 527s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 527s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 527s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 527s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 527s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 527s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 527s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 77%] 527s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 77%] 527s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 527s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 527s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 527s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 527s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 527s tests/translate/storage/test_qph.py::TestQphUnit::test_line_number_default PASSED [ 78%] 527s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 527s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 527s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 527s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 527s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 527s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 527s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 527s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 527s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 527s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 527s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 527s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 527s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 527s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 528s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 528s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 528s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 528s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 528s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 78%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 78%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 78%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 78%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 78%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 78%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 78%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_utf16_pragma_code_page PASSED [ 79%] 528s tests/translate/storage/test_rc.py::TestRcFile::test_utf8_pragma_code_page PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_line_number_default PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 79%] 528s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 79%] 528s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 79%] 528s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 79%] 528s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 79%] 528s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 79%] 528s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 79%] 528s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 79%] 528s tests/translate/storage/test_resx.py::TestRESXUnit::test_line_number_default PASSED [ 79%] 528s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_line_number_default PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 80%] 528s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 80%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 80%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 80%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 80%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 80%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 80%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 80%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_line_number_default PASSED [ 80%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 80%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 80%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 80%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 80%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 80%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 528s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 528s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 81%] 528s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 81%] 528s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 81%] 529s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 81%] 529s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 81%] 529s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 81%] 529s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 81%] 529s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 81%] 529s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 81%] 529s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 81%] 529s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 81%] 529s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 81%] 529s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_ordering PASSED [ 81%] 529s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create_blank PASSED [ 81%] 529s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_add PASSED [ 81%] 529s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_remove PASSED [ 81%] 529s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_find PASSED [ 81%] 529s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_parse PASSED [ 81%] 529s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_files PASSED [ 81%] 529s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_save PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_extensions PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_mimetypes PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_translate PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_markup PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_nonascii PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_ordering PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 529s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_ordering PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_ordering PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_style_preservation PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 82%] 529s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 529s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 529s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 529s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 529s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 529s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 529s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 529s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 529s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_ordering PASSED [ 83%] 529s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_style_preservation PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXUnit::test_line_number_default PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 83%] 529s tests/translate/storage/test_tbx.py::TestTBXfile::test_administrative_status_and_translation_needed PASSED [ 84%] 529s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 529s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 529s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 529s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 529s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 529s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXUnit::test_line_number_default PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_line_number_default PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_context PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 84%] 529s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 529s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 529s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 529s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 529s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 529s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 529s tests/translate/storage/test_tmx.py::TestTMXfile::test_context PASSED [ 85%] 529s tests/translate/storage/test_tmx.py::TestTMXfile::test_note_order PASSED [ 85%] 529s tests/translate/storage/test_tmx.py::TestTMXfile::test_prop_and_note_order PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_isfuzzy PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_create PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_eq PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_escapes PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_difficult_escapes PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_note_sanity PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_line_number_default PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_target PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_rich_get PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_rich_set PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_getlocations PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_create_blank PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_add PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_find PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_parse PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_files PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_save PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_extensions PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_mimetypes PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_translate PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_markup PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_nonascii PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_serialize PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_empty PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_edit PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_edit_unicode PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_parse_unicode_list PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_ordering PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_nested PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline PASSED [ 85%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_boolean PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_integer PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_no_quote_strings PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_double_quote_strings PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_single_quote_strings PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_escaped_double_quotes PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_newlines PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_list PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_inline_table PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_key_nesting PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_add_to_empty PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_dict_in_list PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_remove PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_special PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_extraction_simple PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_extraction_multiline PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_no_comment_backwards_compat PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_simple PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_multiline PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_nested PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_with_modification PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_literal_string PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline_basic_string PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline_literal_string PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_create_blank PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_add PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_remove PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_find PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_parse PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_files PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_save PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_extensions PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_mimetypes PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_translate PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_markup PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_nonascii PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_simple_plural PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_plural_with_other_keys PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_full_plural_forms PASSED [ 86%] 529s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_roundtrip_plural PASSED [ 87%] 529s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_mixed_content PASSED [ 87%] 529s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_letsencrypt_style PASSED [ 87%] 529s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_comment_preservation_goi18n PASSED [ 87%] 529s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_comment_preservation_goi18n_plural PASSED [ 87%] 529s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 529s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 529s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSUnit::test_line_number_default PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 87%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 529s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtUnit::test_line_number_default PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 88%] 529s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 88%] 529s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 88%] 529s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 88%] 529s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 88%] 529s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 88%] 529s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 88%] 529s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 88%] 529s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 529s tests/translate/storage/test_utx.py::TestUtxUnit::test_line_number_default PASSED [ 89%] 529s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 529s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 529s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 529s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 529s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 529s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 529s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 529s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 529s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 529s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 529s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 529s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 529s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 529s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFUnit::test_line_number_default PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 529s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 529s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 529s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 529s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 529s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 529s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 529s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 529s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 529s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 529s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 529s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 529s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_line_number_default PASSED [ 90%] 529s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 529s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 529s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 90%] 529s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 90%] 529s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 90%] 529s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 90%] 529s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_marktranslatable PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_groups_when_adding_units PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_multiple_files_and_groups PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_unit_to_existing_group PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_unit_to_different_file PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mixed_groups_and_body PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addunit_with_new_false PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace_preservation_across_versions PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_units_between_different_files PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_group_preservation_across_different_namespaces PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_cross_namespace_group_and_file_preservation PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 91%] 530s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 91%] 533s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 91%] 533s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 91%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_isfuzzy PASSED [ 91%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_create PASSED [ 91%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_eq PASSED [ 91%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_target PASSED [ 91%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_escapes PASSED [ 91%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_difficult_escapes PASSED [ 91%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_note_sanity PASSED [ 91%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_line_number_default PASSED [ 91%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_rich_get PASSED [ 91%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_rich_set PASSED [ 91%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_notes PASSED [ 91%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_id_management PASSED [ 91%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_marktranslatable PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_create_blank PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_add PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_remove PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_find PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_translate PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_files PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_save PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_markup PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_nonascii PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_extensions PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_mimetypes PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_basic PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_source_target PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_language_attributes PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_namespace PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_unit_structure PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_multiple_units PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse_xliff2 PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse_translate_attribute PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_multiple_segments_per_unit PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_mixed_single_and_multiple_segments PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_segments_without_ids PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_escaped_inline_tags PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_simple_source_target_pairs PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_malformed_xml_declaration PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_variable_placeholders PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_add_unit PASSED [ 92%] 533s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_states PASSED [ 92%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_line_number_default PASSED [ 92%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_simple PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_multiline PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_nested PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_mixed PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_comment_backwards_compat PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline_literal_format PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_blank PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_partial PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_pt_br PASSED [ 94%] 533s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_bug_ruby_remove_zero_few_and_mix_others PASSED [ 94%] 533s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 533s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 533s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 533s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 95%] 533s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 95%] 533s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 95%] 533s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 95%] 533s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 95%] 533s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 95%] 533s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 95%] 533s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 95%] 533s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 95%] 533s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 95%] 533s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 95%] 533s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 95%] 533s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 95%] 533s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 95%] 533s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 95%] 533s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 533s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 533s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 533s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 533s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 533s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 533s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 533s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 533s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 533s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 533s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 533s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 533s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 533s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::test_csv_line_terminator PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_fuzzy_with_target PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_fuzzy_without_target PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_translated_not_fuzzy PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_untranslated_empty_target PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_categorization_mutually_exclusive PASSED [ 96%] 533s tests/translate/tools/test_pocount.py::TestPOCountLineEndings::test_unusual_line_endings PASSED [ 96%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank_clears_fuzzy PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank_with_plurals PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 533s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 533s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 533s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 533s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 533s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 533s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 533s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 533s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 533s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 534s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 534s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 534s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 534s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 534s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 534s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 534s tests/translate/tools/test_posegment.py::TestPOSegment::test_transifex_po PASSED [ 98%] 534s tests/translate/tools/test_posegment.py::TestXLIFFSegment::test_xliff_en_simple PASSED [ 98%] 534s tests/translate/tools/test_posegment.py::TestXLIFFSegment::test_xliff_untranslated PASSED [ 98%] 534s tests/translate/tools/test_posegment.py::TestTMXSegment::test_tmx_en_simple PASSED [ 98%] 534s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 534s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_unitinfo_stores_minimal_data PASSED [ 98%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overrides_old PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurrect_obsolete_messages PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overrides_old PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurrect_obsolete_messages PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 534s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 534s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 534s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 534s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 534s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 534s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 534s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 535s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 535s 535s =============================== warnings summary =============================== 535s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 535s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AFZJC1/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 535s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 535s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 535s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 535s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 535s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 535s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 535s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 535s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 535s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 535s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 535s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 535s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 535s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 535s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 535s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 535s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 535s Warning: Could not find accesskey for key.accesskey 535s 535s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 535s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 535s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 535s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 535s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 535s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AFZJC1/autopkgtest_tmp/tests/translate/convert/test.idml'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 535s Warning: unclosed file <_io.BufferedReader name='translation.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert 535s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert_with_multiple_units 535s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 535s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AFZJC1/autopkgtest_tmp/tests/translate/convert/test.odt'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple 535s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple 535s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 535s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 535s Warning: Could not find accesskey for prop.accesskey 535s 535s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context 535s Warning: unclosed file <_io.BufferedReader name='test.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context 535s Warning: unclosed file <_io.TextIOWrapper name='TestPO2TMXCommand_test_context/test.tmx' mode='r' encoding='UTF-8'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 535s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 535s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 535s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 535s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 535s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 535s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 535s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 535s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 535s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 535s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 535s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 535s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 535s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 535s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 535s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 535s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 535s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 535s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 535s 535s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle 535s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle 535s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp72fuhjow_test.txt'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save 535s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save 535s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpnil1_s22_crossdevice.txt'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip 535s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip 535s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpbefhcixz_initial.txt'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 535s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 535s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpeq2fyv83_load_test.txt'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 535s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 535s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpp33ymd87_load_test.txt'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 535s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 535s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpahaju901_file0.txt'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 535s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 535s Warning: unclosed file <_io.BufferedReader name='/tmp/tmph04kgbi5_file1.txt'> 535s Enable tracemalloc to get traceback where the object was allocated. 535s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 535s 535s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 535s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 535s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpla4cwqll_file2.txt'> 535s Enable tracemalloc to get traceback where the object was allocated. 536s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 536s 536s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 536s Warning: DTD parse error: :1:35:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 536s :1:35:FATAL:PARSER:ERR_EXT_SUBSET_NOT_FINISHED: Content error in the external subset 536s 536s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 536s Warning: DTD file '' does not validate 536s 536s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 536s --------------------------- snapshot report summary ---------------------------- 536s 23 snapshots passed. 536s =========================== short test summary info ============================ 536s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 536s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 536s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 536s SKIPPED [1] tests/translate/storage/test_mo.py:512: Skip testing command line tools 536s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 536s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:47: Skip testing command line tools 536s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:57: Skip testing command line tools 536s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 536s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 536s XFAIL tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_table - https://github.com/miyuchina/mistletoe/issues/244 536s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 536s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 536s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 536s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 536s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 536s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 536s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 536s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 536s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 536s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 536s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 536s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 536s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 536s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 536s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 536s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 536s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 536s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 536s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 536s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 536s XFAIL tests/translate/storage/test_omegat.py::TestOmegaTFile::test_extensions - This doesn't work, due to two store classes handling different extensions, but factory listing it as one supported file type 536s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 536s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 536s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 536s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 536s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 536s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 536s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 536s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 536s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 536s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 536s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 536s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 536s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 536s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 536s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 536s ========== 3843 passed, 22 skipped, 39 xfailed, 69 warnings in 37.24s ========== 538s autopkgtest [06:00:46]: test python3-translate: -----------------------] 538s python3-translate PASS 538s autopkgtest [06:00:46]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 539s autopkgtest [06:00:47]: test python3-translate-commands: preparing testbed 561s Creating nova instance adt-resolute-s390x-translate-toolkit-20260130-055148-juju-7f2275-prod-proposed-migration-environment-2-28bbd225-bdf6-420c-b240-09128a6e5b11 from image adt/ubuntu-resolute-s390x-server-20260129.img (UUID 0fdc3f45-c7c7-4a2c-aa6d-edc1dbbf6141)... 618s autopkgtest [06:02:06]: testbed dpkg architecture: s390x 618s autopkgtest [06:02:06]: testbed apt version: 3.1.14 618s autopkgtest [06:02:06]: @@@@@@@@@@@@@@@@@@@@ test bed setup 618s autopkgtest [06:02:06]: testbed release detected to be: resolute 619s autopkgtest [06:02:07]: updating testbed package index (apt update) 619s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 619s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 619s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 619s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 619s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [103 kB] 619s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1600 kB] 620s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [2820 B] 620s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [33.0 kB] 620s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main s390x Packages [117 kB] 620s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x Packages [1102 kB] 620s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse s390x Packages [12.0 kB] 620s Fetched 3095 kB in 1s (3425 kB/s) 622s Reading package lists... 624s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 624s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 624s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 624s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 625s Reading package lists... 625s Reading package lists... 625s Building dependency tree... 625s Reading state information... 626s Calculating upgrade... 626s The following packages will be upgraded: 626s bzip2 gcc-15-base inetutils-telnet libatomic1 libbz2-1.0 libgcc-s1 626s libsgutils2-1.48 libsqlite3-0 libstdc++6 sg3-utils sg3-utils-udev telnet 626s 12 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 626s Need to get 3103 kB of archives. 626s After this operation, 3072 B of additional disk space will be used. 626s Get:1 http://ftpmaster.internal/ubuntu resolute/main s390x libatomic1 s390x 15.2.0-12ubuntu1 [9486 B] 626s Get:2 http://ftpmaster.internal/ubuntu resolute/main s390x libstdc++6 s390x 15.2.0-12ubuntu1 [907 kB] 626s Get:3 http://ftpmaster.internal/ubuntu resolute/main s390x gcc-15-base s390x 15.2.0-12ubuntu1 [59.6 kB] 626s Get:4 http://ftpmaster.internal/ubuntu resolute/main s390x libgcc-s1 s390x 15.2.0-12ubuntu1 [35.7 kB] 626s Get:5 http://ftpmaster.internal/ubuntu resolute/main s390x bzip2 s390x 1.0.8-6build2 [35.2 kB] 626s Get:6 http://ftpmaster.internal/ubuntu resolute/main s390x libbz2-1.0 s390x 1.0.8-6build2 [41.6 kB] 626s Get:7 http://ftpmaster.internal/ubuntu resolute/main s390x libsqlite3-0 s390x 3.46.1-9 [748 kB] 626s Get:8 http://ftpmaster.internal/ubuntu resolute/main s390x inetutils-telnet s390x 2:2.7-2ubuntu1 [112 kB] 626s Get:9 http://ftpmaster.internal/ubuntu resolute/main s390x telnet all 0.17+2.7-2ubuntu1 [3636 B] 626s Get:10 http://ftpmaster.internal/ubuntu resolute/main s390x libsgutils2-1.48 s390x 1.48-3ubuntu2 [120 kB] 626s Get:11 http://ftpmaster.internal/ubuntu resolute/main s390x sg3-utils s390x 1.48-3ubuntu2 [1025 kB] 626s Get:12 http://ftpmaster.internal/ubuntu resolute/main s390x sg3-utils-udev all 1.48-3ubuntu2 [6610 B] 627s dpkg-preconfigure: unable to re-open stdin: No such file or directory 627s Fetched 3103 kB in 0s (8255 kB/s) 628s (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 ... 87720 files and directories currently installed.) 628s Preparing to unpack .../libatomic1_15.2.0-12ubuntu1_s390x.deb ... 628s Unpacking libatomic1:s390x (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 628s Preparing to unpack .../libstdc++6_15.2.0-12ubuntu1_s390x.deb ... 628s Unpacking libstdc++6:s390x (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 628s Preparing to unpack .../gcc-15-base_15.2.0-12ubuntu1_s390x.deb ... 628s Unpacking gcc-15-base:s390x (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 628s Setting up gcc-15-base:s390x (15.2.0-12ubuntu1) ... 628s (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 ... 87720 files and directories currently installed.) 628s Preparing to unpack .../libgcc-s1_15.2.0-12ubuntu1_s390x.deb ... 628s Unpacking libgcc-s1:s390x (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 628s Setting up libgcc-s1:s390x (15.2.0-12ubuntu1) ... 628s (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 ... 87720 files and directories currently installed.) 628s Preparing to unpack .../bzip2_1.0.8-6build2_s390x.deb ... 628s Unpacking bzip2 (1.0.8-6build2) over (1.0.8-6build1) ... 628s Preparing to unpack .../libbz2-1.0_1.0.8-6build2_s390x.deb ... 628s Unpacking libbz2-1.0:s390x (1.0.8-6build2) over (1.0.8-6build1) ... 628s Setting up libbz2-1.0:s390x (1.0.8-6build2) ... 629s (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 ... 87720 files and directories currently installed.) 629s Preparing to unpack .../0-libsqlite3-0_3.46.1-9_s390x.deb ... 629s Unpacking libsqlite3-0:s390x (3.46.1-9) over (3.46.1-8) ... 629s Preparing to unpack .../1-inetutils-telnet_2%3a2.7-2ubuntu1_s390x.deb ... 629s Unpacking inetutils-telnet (2:2.7-2ubuntu1) over (2:2.6-4ubuntu1) ... 629s Preparing to unpack .../2-telnet_0.17+2.7-2ubuntu1_all.deb ... 629s Unpacking telnet (0.17+2.7-2ubuntu1) over (0.17+2.6-4ubuntu1) ... 629s Preparing to unpack .../3-libsgutils2-1.48_1.48-3ubuntu2_s390x.deb ... 629s Unpacking libsgutils2-1.48:s390x (1.48-3ubuntu2) over (1.48-3ubuntu1) ... 629s Preparing to unpack .../4-sg3-utils_1.48-3ubuntu2_s390x.deb ... 629s Unpacking sg3-utils (1.48-3ubuntu2) over (1.48-3ubuntu1) ... 629s Preparing to unpack .../5-sg3-utils-udev_1.48-3ubuntu2_all.deb ... 629s Unpacking sg3-utils-udev (1.48-3ubuntu2) over (1.48-3ubuntu1) ... 629s Setting up libsqlite3-0:s390x (3.46.1-9) ... 629s Setting up inetutils-telnet (2:2.7-2ubuntu1) ... 629s Setting up libsgutils2-1.48:s390x (1.48-3ubuntu2) ... 629s Setting up bzip2 (1.0.8-6build2) ... 629s Setting up libatomic1:s390x (15.2.0-12ubuntu1) ... 629s Setting up libstdc++6:s390x (15.2.0-12ubuntu1) ... 629s Setting up sg3-utils (1.48-3ubuntu2) ... 629s Setting up telnet (0.17+2.7-2ubuntu1) ... 629s Setting up sg3-utils-udev (1.48-3ubuntu2) ... 629s update-initramfs: deferring update (trigger activated) 629s Processing triggers for libc-bin (2.42-2ubuntu4) ... 629s Processing triggers for man-db (2.13.1-1) ... 631s Processing triggers for initramfs-tools (0.150ubuntu7) ... 631s update-initramfs: Generating /boot/initrd.img-6.18.0-9-generic 644s Using config file '/etc/zipl.conf' 644s Building bootmap in '/boot' 644s Adding IPL section 'ubuntu' (default) 644s Preparing boot device: vda. 644s Done. 645s autopkgtest [06:02:33]: upgrading testbed (apt dist-upgrade and autopurge) 645s Reading package lists... 646s Building dependency tree... 646s Reading state information... 646s Calculating upgrade... 647s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 648s Reading package lists... 649s Building dependency tree... 649s Reading state information... 649s Solving dependencies... 649s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 649s autopkgtest [06:02:37]: rebooting testbed after setup commands that affected boot 693s Reading package lists... 693s Building dependency tree... 693s Reading state information... 694s Solving dependencies... 695s The following NEW packages will be installed: 695s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 695s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 695s libhunspell-1.7-0 libpython3.14-minimal libpython3.14-stdlib libserf-1-1 695s libsvn1 libutf8proc3 libxapian30 libxslt1.1 python3-aeidon python3-all 695s python3-bs4 python3-charset-normalizer python3-cheroot 695s python3-diff-match-patch python3-enchant python3-iniconfig python3-iniparse 695s python3-levenshtein python3-lxml python3-mistletoe python3-phply 695s python3-pluggy python3-ply python3-pycountry python3-pytest python3-pytz 695s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 695s python3-soupsieve python3-syrupy python3-tomlkit python3-translate 695s python3-unicode-segmentation-rs python3-vobject python3-xapian python3.14 695s python3.14-minimal subversion translate-toolkit 695s 0 upgraded, 50 newly installed, 0 to remove and 0 not upgraded. 695s Need to get 20.4 MB of archives. 695s After this operation, 90.0 MB of additional disk space will be used. 695s Get:1 http://ftpmaster.internal/ubuntu resolute/main s390x libpython3.14-minimal s390x 3.14.2-1 [917 kB] 696s Get:2 http://ftpmaster.internal/ubuntu resolute/main s390x python3.14-minimal s390x 3.14.2-1 [2510 kB] 696s Get:3 http://ftpmaster.internal/ubuntu resolute/main s390x emacsen-common all 3.0.8 [13.9 kB] 696s Get:4 http://ftpmaster.internal/ubuntu resolute/main s390x dictionaries-common all 1.31.3 [179 kB] 696s Get:5 http://ftpmaster.internal/ubuntu resolute/main s390x libgomp1 s390x 15.2.0-12ubuntu1 [154 kB] 696s Get:6 http://ftpmaster.internal/ubuntu resolute/main s390x gettext s390x 0.23.2-1 [1062 kB] 696s Get:7 http://ftpmaster.internal/ubuntu resolute/main s390x hunspell-en-us all 1:2020.12.07-4build1 [585 kB] 696s Get:8 http://ftpmaster.internal/ubuntu resolute/main s390x libapr1t64 s390x 1.7.6-3 [114 kB] 696s Get:9 http://ftpmaster.internal/ubuntu resolute/main s390x libaprutil1t64 s390x 1.6.3-3ubuntu3 [98.9 kB] 696s Get:10 http://ftpmaster.internal/ubuntu resolute/main s390x libaspell15 s390x 0.60.8.1-6 [354 kB] 696s Get:11 http://ftpmaster.internal/ubuntu resolute/main s390x libhunspell-1.7-0 s390x 1.7.2+really1.7.2-11 [328 kB] 696s Get:12 http://ftpmaster.internal/ubuntu resolute/main s390x libenchant-2-2 s390x 2.8.2+dfsg1-3build1 [60.9 kB] 696s Get:13 http://ftpmaster.internal/ubuntu resolute/main s390x libexttextcat-data all 3.4.7-1ubuntu2 [193 kB] 696s Get:14 http://ftpmaster.internal/ubuntu resolute/main s390x libpython3.14-stdlib s390x 3.14.2-1 [2373 kB] 696s Get:15 http://ftpmaster.internal/ubuntu resolute/universe s390x libserf-1-1 s390x 1.3.10-3ubuntu1 [49.8 kB] 696s Get:16 http://ftpmaster.internal/ubuntu resolute/universe s390x libutf8proc3 s390x 2.10.0-2 [72.0 kB] 696s Get:17 http://ftpmaster.internal/ubuntu resolute/universe s390x libsvn1 s390x 1.14.5-5 [1359 kB] 697s Get:18 http://ftpmaster.internal/ubuntu resolute/universe s390x libxapian30 s390x 1.4.29-3 [740 kB] 697s Get:19 http://ftpmaster.internal/ubuntu resolute/main s390x libxslt1.1 s390x 1.1.43-0.3 [163 kB] 697s Get:20 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-aeidon all 1.15-2build1 [225 kB] 697s Get:21 http://ftpmaster.internal/ubuntu resolute/main s390x python3.14 s390x 3.14.2-1 [816 kB] 697s Get:22 http://ftpmaster.internal/ubuntu resolute/main s390x python3-all s390x 3.13.9-3 [890 B] 697s Get:23 http://ftpmaster.internal/ubuntu resolute/main s390x python3-soupsieve all 2.8.3-1 [34.0 kB] 697s Get:24 http://ftpmaster.internal/ubuntu resolute/main s390x python3-bs4 all 4.14.3-2build1 [84.8 kB] 697s Get:25 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-charset-normalizer s390x 3.4.4-2 [181 kB] 697s Get:26 http://ftpmaster.internal/ubuntu resolute/main s390x python3-cheroot all 11.1.2+ds1-1 [81.5 kB] 697s Get:27 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-diff-match-patch all 20241021-1 [33.6 kB] 697s Get:28 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-enchant all 3.3.0-1 [35.0 kB] 697s Get:29 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-iniconfig all 2.1.0-2 [6962 B] 697s Get:30 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-rapidfuzz s390x 3.12.2+ds-1build1 [1790 kB] 697s Get:31 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-levenshtein s390x 0.27.1-2build1 [181 kB] 697s Get:32 http://ftpmaster.internal/ubuntu resolute/main s390x python3-lxml s390x 6.0.2-1 [2478 kB] 697s Get:33 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-mistletoe all 1.5.1-1 [41.7 kB] 697s Get:34 http://ftpmaster.internal/ubuntu resolute/main s390x python3-ply all 3.11-10 [45.9 kB] 698s Get:35 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-phply all 1.2.6-1build1 [50.6 kB] 698s Get:36 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pluggy all 1.6.0-2 [21.1 kB] 698s Get:37 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pytest all 9.0.2-2 [277 kB] 698s Get:38 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pytz all 2025.2-5 [32.4 kB] 698s Get:39 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-ruamel.yaml.clib s390x 0.2.15+ds-1 [214 kB] 698s Get:40 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x python3-ruamel.yaml all 0.18.10+ds-1build1 [127 kB] 698s Get:41 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-syrupy all 5.0.0-1 [47.9 kB] 698s Get:42 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-tomlkit all 0.13.3-2 [39.1 kB] 698s Get:43 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-translate all 3.18.1-1 [339 kB] 698s Get:44 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-unicode-segmentation-rs s390x 0.2.1-1 [234 kB] 698s Get:45 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-vobject all 0.9.9+dfsg-1 [41.5 kB] 698s Get:46 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-xapian s390x 1.4.29-1build1 [572 kB] 698s Get:47 http://ftpmaster.internal/ubuntu resolute/universe s390x subversion s390x 1.14.5-5 [898 kB] 698s Get:48 http://ftpmaster.internal/ubuntu resolute/universe s390x translate-toolkit all 3.18.1-1 [83.7 kB] 698s Get:49 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-iniparse all 0.5.1-2 [21.4 kB] 698s Get:50 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 698s Preconfiguring packages ... 699s Fetched 20.4 MB in 3s (7605 kB/s) 699s Selecting previously unselected package libpython3.14-minimal:s390x. 699s (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 ... 87720 files and directories currently installed.) 699s Preparing to unpack .../00-libpython3.14-minimal_3.14.2-1_s390x.deb ... 699s Unpacking libpython3.14-minimal:s390x (3.14.2-1) ... 699s Selecting previously unselected package python3.14-minimal. 699s Preparing to unpack .../01-python3.14-minimal_3.14.2-1_s390x.deb ... 699s Unpacking python3.14-minimal (3.14.2-1) ... 699s Selecting previously unselected package emacsen-common. 699s Preparing to unpack .../02-emacsen-common_3.0.8_all.deb ... 699s Unpacking emacsen-common (3.0.8) ... 699s Selecting previously unselected package dictionaries-common. 699s Preparing to unpack .../03-dictionaries-common_1.31.3_all.deb ... 699s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 699s Unpacking dictionaries-common (1.31.3) ... 700s Selecting previously unselected package libgomp1:s390x. 700s Preparing to unpack .../04-libgomp1_15.2.0-12ubuntu1_s390x.deb ... 700s Unpacking libgomp1:s390x (15.2.0-12ubuntu1) ... 700s Selecting previously unselected package gettext. 700s Preparing to unpack .../05-gettext_0.23.2-1_s390x.deb ... 700s Unpacking gettext (0.23.2-1) ... 700s Selecting previously unselected package hunspell-en-us. 700s Preparing to unpack .../06-hunspell-en-us_1%3a2020.12.07-4build1_all.deb ... 700s Unpacking hunspell-en-us (1:2020.12.07-4build1) ... 700s Selecting previously unselected package libapr1t64:s390x. 700s Preparing to unpack .../07-libapr1t64_1.7.6-3_s390x.deb ... 700s Unpacking libapr1t64:s390x (1.7.6-3) ... 700s Selecting previously unselected package libaprutil1t64:s390x. 700s Preparing to unpack .../08-libaprutil1t64_1.6.3-3ubuntu3_s390x.deb ... 700s Unpacking libaprutil1t64:s390x (1.6.3-3ubuntu3) ... 700s Selecting previously unselected package libaspell15:s390x. 700s Preparing to unpack .../09-libaspell15_0.60.8.1-6_s390x.deb ... 700s Unpacking libaspell15:s390x (0.60.8.1-6) ... 701s Selecting previously unselected package libhunspell-1.7-0:s390x. 701s Preparing to unpack .../10-libhunspell-1.7-0_1.7.2+really1.7.2-11_s390x.deb ... 701s Unpacking libhunspell-1.7-0:s390x (1.7.2+really1.7.2-11) ... 701s Selecting previously unselected package libenchant-2-2:s390x. 701s Preparing to unpack .../11-libenchant-2-2_2.8.2+dfsg1-3build1_s390x.deb ... 701s Unpacking libenchant-2-2:s390x (2.8.2+dfsg1-3build1) ... 701s Selecting previously unselected package libexttextcat-data. 701s Preparing to unpack .../12-libexttextcat-data_3.4.7-1ubuntu2_all.deb ... 701s Unpacking libexttextcat-data (3.4.7-1ubuntu2) ... 701s Selecting previously unselected package libpython3.14-stdlib:s390x. 701s Preparing to unpack .../13-libpython3.14-stdlib_3.14.2-1_s390x.deb ... 701s Unpacking libpython3.14-stdlib:s390x (3.14.2-1) ... 701s Selecting previously unselected package libserf-1-1:s390x. 701s Preparing to unpack .../14-libserf-1-1_1.3.10-3ubuntu1_s390x.deb ... 701s Unpacking libserf-1-1:s390x (1.3.10-3ubuntu1) ... 701s Selecting previously unselected package libutf8proc3:s390x. 701s Preparing to unpack .../15-libutf8proc3_2.10.0-2_s390x.deb ... 701s Unpacking libutf8proc3:s390x (2.10.0-2) ... 701s Selecting previously unselected package libsvn1:s390x. 701s Preparing to unpack .../16-libsvn1_1.14.5-5_s390x.deb ... 701s Unpacking libsvn1:s390x (1.14.5-5) ... 701s Selecting previously unselected package libxapian30:s390x. 701s Preparing to unpack .../17-libxapian30_1.4.29-3_s390x.deb ... 701s Unpacking libxapian30:s390x (1.4.29-3) ... 701s Selecting previously unselected package libxslt1.1:s390x. 701s Preparing to unpack .../18-libxslt1.1_1.1.43-0.3_s390x.deb ... 701s Unpacking libxslt1.1:s390x (1.1.43-0.3) ... 701s Selecting previously unselected package python3-aeidon. 701s Preparing to unpack .../19-python3-aeidon_1.15-2build1_all.deb ... 701s Unpacking python3-aeidon (1.15-2build1) ... 702s Selecting previously unselected package python3.14. 702s Preparing to unpack .../20-python3.14_3.14.2-1_s390x.deb ... 702s Unpacking python3.14 (3.14.2-1) ... 702s Selecting previously unselected package python3-all. 702s Preparing to unpack .../21-python3-all_3.13.9-3_s390x.deb ... 702s Unpacking python3-all (3.13.9-3) ... 702s Selecting previously unselected package python3-soupsieve. 702s Preparing to unpack .../22-python3-soupsieve_2.8.3-1_all.deb ... 702s Unpacking python3-soupsieve (2.8.3-1) ... 702s Selecting previously unselected package python3-bs4. 702s Preparing to unpack .../23-python3-bs4_4.14.3-2build1_all.deb ... 702s Unpacking python3-bs4 (4.14.3-2build1) ... 702s Selecting previously unselected package python3-charset-normalizer. 702s Preparing to unpack .../24-python3-charset-normalizer_3.4.4-2_s390x.deb ... 702s Unpacking python3-charset-normalizer (3.4.4-2) ... 702s Selecting previously unselected package python3-cheroot. 702s Preparing to unpack .../25-python3-cheroot_11.1.2+ds1-1_all.deb ... 702s Unpacking python3-cheroot (11.1.2+ds1-1) ... 702s Selecting previously unselected package python3-diff-match-patch. 702s Preparing to unpack .../26-python3-diff-match-patch_20241021-1_all.deb ... 702s Unpacking python3-diff-match-patch (20241021-1) ... 702s Selecting previously unselected package python3-enchant. 702s Preparing to unpack .../27-python3-enchant_3.3.0-1_all.deb ... 702s Unpacking python3-enchant (3.3.0-1) ... 702s Selecting previously unselected package python3-iniconfig. 702s Preparing to unpack .../28-python3-iniconfig_2.1.0-2_all.deb ... 702s Unpacking python3-iniconfig (2.1.0-2) ... 702s Selecting previously unselected package python3-rapidfuzz. 702s Preparing to unpack .../29-python3-rapidfuzz_3.12.2+ds-1build1_s390x.deb ... 702s Unpacking python3-rapidfuzz (3.12.2+ds-1build1) ... 703s Selecting previously unselected package python3-levenshtein. 703s Preparing to unpack .../30-python3-levenshtein_0.27.1-2build1_s390x.deb ... 703s Unpacking python3-levenshtein (0.27.1-2build1) ... 703s Selecting previously unselected package python3-lxml:s390x. 703s Preparing to unpack .../31-python3-lxml_6.0.2-1_s390x.deb ... 703s Unpacking python3-lxml:s390x (6.0.2-1) ... 703s Selecting previously unselected package python3-mistletoe. 703s Preparing to unpack .../32-python3-mistletoe_1.5.1-1_all.deb ... 703s Unpacking python3-mistletoe (1.5.1-1) ... 703s Selecting previously unselected package python3-ply. 703s Preparing to unpack .../33-python3-ply_3.11-10_all.deb ... 703s Unpacking python3-ply (3.11-10) ... 703s Selecting previously unselected package python3-phply. 703s Preparing to unpack .../34-python3-phply_1.2.6-1build1_all.deb ... 703s Unpacking python3-phply (1.2.6-1build1) ... 703s Selecting previously unselected package python3-pluggy. 703s Preparing to unpack .../35-python3-pluggy_1.6.0-2_all.deb ... 703s Unpacking python3-pluggy (1.6.0-2) ... 703s Selecting previously unselected package python3-pytest. 703s Preparing to unpack .../36-python3-pytest_9.0.2-2_all.deb ... 703s Unpacking python3-pytest (9.0.2-2) ... 703s Selecting previously unselected package python3-pytz. 703s Preparing to unpack .../37-python3-pytz_2025.2-5_all.deb ... 703s Unpacking python3-pytz (2025.2-5) ... 703s Selecting previously unselected package python3-ruamel.yaml.clib. 703s Preparing to unpack .../38-python3-ruamel.yaml.clib_0.2.15+ds-1_s390x.deb ... 703s Unpacking python3-ruamel.yaml.clib (0.2.15+ds-1) ... 703s Selecting previously unselected package python3-ruamel.yaml. 703s Preparing to unpack .../39-python3-ruamel.yaml_0.18.10+ds-1build1_all.deb ... 703s Unpacking python3-ruamel.yaml (0.18.10+ds-1build1) ... 703s Selecting previously unselected package python3-syrupy. 703s Preparing to unpack .../40-python3-syrupy_5.0.0-1_all.deb ... 703s Unpacking python3-syrupy (5.0.0-1) ... 703s Selecting previously unselected package python3-tomlkit. 703s Preparing to unpack .../41-python3-tomlkit_0.13.3-2_all.deb ... 703s Unpacking python3-tomlkit (0.13.3-2) ... 703s Selecting previously unselected package python3-translate. 703s Preparing to unpack .../42-python3-translate_3.18.1-1_all.deb ... 703s Unpacking python3-translate (3.18.1-1) ... 703s Selecting previously unselected package python3-unicode-segmentation-rs. 703s Preparing to unpack .../43-python3-unicode-segmentation-rs_0.2.1-1_s390x.deb ... 703s Unpacking python3-unicode-segmentation-rs (0.2.1-1) ... 703s Selecting previously unselected package python3-vobject. 703s Preparing to unpack .../44-python3-vobject_0.9.9+dfsg-1_all.deb ... 703s Unpacking python3-vobject (0.9.9+dfsg-1) ... 703s Selecting previously unselected package python3-xapian. 703s Preparing to unpack .../45-python3-xapian_1.4.29-1build1_s390x.deb ... 703s Unpacking python3-xapian (1.4.29-1build1) ... 703s Selecting previously unselected package subversion. 703s Preparing to unpack .../46-subversion_1.14.5-5_s390x.deb ... 704s Unpacking subversion (1.14.5-5) ... 704s Selecting previously unselected package translate-toolkit. 704s Preparing to unpack .../47-translate-toolkit_3.18.1-1_all.deb ... 704s Unpacking translate-toolkit (3.18.1-1) ... 704s Selecting previously unselected package python3-iniparse. 704s Preparing to unpack .../48-python3-iniparse_0.5.1-2_all.deb ... 704s Unpacking python3-iniparse (0.5.1-2) ... 704s Selecting previously unselected package python3-pycountry. 704s Preparing to unpack .../49-python3-pycountry_24.6.1+ds1-1_all.deb ... 704s Unpacking python3-pycountry (24.6.1+ds1-1) ... 704s Setting up python3-iniconfig (2.1.0-2) ... 705s Setting up libxapian30:s390x (1.4.29-3) ... 705s Setting up python3-rapidfuzz (3.12.2+ds-1build1) ... 705s Setting up python3-diff-match-patch (20241021-1) ... 706s Setting up python3-aeidon (1.15-2build1) ... 707s Setting up libutf8proc3:s390x (2.10.0-2) ... 707s Setting up libaspell15:s390x (0.60.8.1-6) ... 707s Setting up python3-charset-normalizer (3.4.4-2) ... 709s Setting up python3-ply (3.11-10) ... 710s Setting up libpython3.14-minimal:s390x (3.14.2-1) ... 710s Setting up python3-ruamel.yaml.clib (0.2.15+ds-1) ... 710s Setting up python3-pytz (2025.2-5) ... 711s Setting up python3-unicode-segmentation-rs (0.2.1-1) ... 712s Setting up libgomp1:s390x (15.2.0-12ubuntu1) ... 712s Setting up emacsen-common (3.0.8) ... 712s Setting up python3-cheroot (11.1.2+ds1-1) ... 713s Setting up python3-pycountry (24.6.1+ds1-1) ... 714s Setting up python3-xapian (1.4.29-1build1) ... 714s Setting up python3-pluggy (1.6.0-2) ... 715s Setting up python3-ruamel.yaml (0.18.10+ds-1build1) ... 716s Setting up python3-mistletoe (1.5.1-1) ... 716s Setting up libexttextcat-data (3.4.7-1ubuntu2) ... 716s Setting up libapr1t64:s390x (1.7.6-3) ... 716s Setting up libxslt1.1:s390x (1.1.43-0.3) ... 716s Setting up python3-levenshtein (0.27.1-2build1) ... 717s Setting up libhunspell-1.7-0:s390x (1.7.2+really1.7.2-11) ... 717s Setting up python3-tomlkit (0.13.3-2) ... 717s Setting up python3-soupsieve (2.8.3-1) ... 718s Setting up python3.14-minimal (3.14.2-1) ... 720s Setting up python3-iniparse (0.5.1-2) ... 721s Setting up libaprutil1t64:s390x (1.6.3-3ubuntu3) ... 721s Setting up python3-vobject (0.9.9+dfsg-1) ... 721s Setting up gettext (0.23.2-1) ... 721s Setting up python3-phply (1.2.6-1build1) ... 722s Setting up dictionaries-common (1.31.3) ... 723s Setting up libpython3.14-stdlib:s390x (3.14.2-1) ... 724s Setting up python3-pytest (9.0.2-2) ... 726s Setting up python3-syrupy (5.0.0-1) ... 727s Setting up libserf-1-1:s390x (1.3.10-3ubuntu1) ... 727s Setting up python3-bs4 (4.14.3-2build1) ... 728s Setting up python3-lxml:s390x (6.0.2-1) ... 730s Setting up hunspell-en-us (1:2020.12.07-4build1) ... 730s Setting up python3.14 (3.14.2-1) ... 734s Setting up libsvn1:s390x (1.14.5-5) ... 734s Setting up libenchant-2-2:s390x (2.8.2+dfsg1-3build1) ... 734s Setting up subversion (1.14.5-5) ... 734s Setting up python3-all (3.13.9-3) ... 734s Setting up python3-enchant (3.3.0-1) ... 735s Setting up python3-translate (3.18.1-1) ... 738s Setting up translate-toolkit (3.18.1-1) ... 738s Processing triggers for libc-bin (2.42-2ubuntu4) ... 738s Processing triggers for systemd (259-1ubuntu2) ... 738s Processing triggers for man-db (2.13.1-1) ... 741s Processing triggers for install-info (7.2-5) ... 741s Processing triggers for dictionaries-common (1.31.3) ... 745s autopkgtest [06:04:13]: test python3-translate-commands: [----------------------- 747s ============================= test session starts ============================== 747s platform linux -- Python 3.14.2, pytest-9.0.2, pluggy-1.6.0 -- /usr/bin/python3.14 747s cachedir: .pytest_cache 747s rootdir: /tmp/autopkgtest.AFZJC1/autopkgtest_tmp 747s plugins: typeguard-4.4.4, syrupy-5.0.0 769s collecting ... collected 3902 items / 2 skipped 769s 769s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 769s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 769s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 769s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 769s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 769s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 769s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 769s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 769s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 769s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 769s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 769s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 769s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 769s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 769s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 769s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 769s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 769s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 769s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 769s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 769s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 769s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 769s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 769s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 769s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 769s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 769s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 769s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 769s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 769s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 769s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 769s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_line_numbers_in_errors PASSED [ 0%] 769s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 769s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 769s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 0%] 769s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 0%] 769s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 0%] 769s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 0%] 769s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 0%] 769s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 769s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_line_numbers_in_errors PASSED [ 1%] 769s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 769s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 769s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 769s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 769s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 769s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 769s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 769s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 769s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 1%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 770s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 770s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 770s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 2%] 770s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 2%] 770s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 2%] 770s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 2%] 770s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 2%] 770s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 2%] 770s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 2%] 770s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 2%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 2%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 2%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 2%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 2%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 2%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 2%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 3%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_ignore_attribute PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_translate_comment_directives PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_social_media_tags PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_non_translatable_tags_not_extracted PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_mixed_translatable_and_non_translatable PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_comment_attribute PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_comment_without_keepcomments PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2PO::test_text_after_empty_tags PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 4%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_ignore_attribute PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_translate_comment_directives PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_social_media_tags PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_non_translatable_tags_not_extracted PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_mixed_translatable_and_non_translatable PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_comment_attribute PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_comment_without_keepcomments PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_text_after_empty_tags PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 770s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 5%] 770s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 5%] 770s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 5%] 770s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 5%] 770s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 5%] 770s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 5%] 770s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 5%] 770s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 5%] 770s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 5%] 770s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 5%] 770s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 5%] 770s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 5%] 770s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 5%] 770s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 5%] 770s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 770s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 770s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 770s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 770s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 770s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 770s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 770s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 770s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 770s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 770s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 770s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 770s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 770s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 770s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 770s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 770s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 770s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 770s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 770s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 6%] 770s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 6%] 770s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 6%] 770s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 6%] 770s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 6%] 770s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 6%] 770s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 6%] 770s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 6%] 770s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 6%] 770s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 6%] 770s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 6%] 770s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 6%] 770s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 6%] 770s tests/translate/convert/test_json2po.py::TestJson2PO::test_multiple_units PASSED [ 6%] 770s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 6%] 770s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 6%] 770s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 6%] 770s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_multiple_units PASSED [ 6%] 770s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 6%] 770s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 6%] 770s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 770s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 770s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 770s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 770s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_frontmatter PASSED [ 7%] 770s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_translation_ignore_sections PASSED [ 7%] 770s tests/translate/convert/test_moz2po.py::TestMoz2PO::test_duplicate_locations PASSED [ 7%] 770s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_duplicate_locations PASSED [ 7%] 770s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 770s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 770s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 770s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 770s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 770s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 770s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 770s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 770s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 770s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 770s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 7%] 770s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 7%] 770s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 7%] 770s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 7%] 770s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 7%] 770s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 7%] 770s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 7%] 770s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 7%] 770s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 7%] 770s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 7%] 770s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 7%] 771s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 7%] 771s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 7%] 771s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 7%] 771s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 7%] 771s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 7%] 771s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 7%] 771s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 7%] 771s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 7%] 771s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 7%] 771s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 7%] 771s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 771s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 771s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 771s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 771s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 771s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 771s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 771s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 771s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 771s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 771s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 771s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 771s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 771s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 8%] 771s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 8%] 771s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 8%] 771s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 8%] 771s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 8%] 771s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 8%] 771s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 8%] 771s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 8%] 771s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 771s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 8%] 771s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 771s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 771s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 771s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 771s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 771s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 771s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 8%] 771s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 771s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 8%] 771s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 771s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 771s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 8%] 771s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 8%] 771s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 8%] 772s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 8%] 772s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 8%] 772s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 9%] 772s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 9%] 772s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 9%] 772s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 9%] 772s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 9%] 772s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 9%] 773s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 9%] 773s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 9%] 773s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 9%] 773s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 9%] 773s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 9%] 773s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 773s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 773s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 10%] 773s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 10%] 773s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 10%] 773s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 10%] 773s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 10%] 773s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 10%] 773s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 10%] 773s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 10%] 773s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 10%] 773s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 10%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 11%] 773s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 11%] 773s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 11%] 773s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 11%] 773s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 11%] 773s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 11%] 773s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 11%] 773s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 11%] 773s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 11%] 773s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 11%] 773s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 11%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities_template_vs_po_mismatch PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_utf8_non_ascii_characters PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_custom_entities_preserved PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_auto_rtl PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_auto_ltr PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_added_when_missing PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_not_changed_without_lang_translation PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_button_translation PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_lang_attribute_only_on_html_tag PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_data_translate_ignore_preserved PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_translate_comment_directives_preserved PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_data_translate_ignore_with_translation_in_po PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_translate_comment_with_translation_in_po PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_meta_social_media_tags_translation PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2Html::test_meta_non_translatable_tags_preserved PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities_template_vs_po_mismatch PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_utf8_non_ascii_characters PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_custom_entities_preserved PASSED [ 12%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_auto_rtl PASSED [ 13%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_auto_ltr PASSED [ 13%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_added_when_missing PASSED [ 13%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_not_changed_without_lang_translation PASSED [ 13%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 13%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_button_translation PASSED [ 13%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_lang_attribute_only_on_html_tag PASSED [ 13%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_data_translate_ignore_preserved PASSED [ 13%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_translate_comment_directives_preserved PASSED [ 13%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_data_translate_ignore_with_translation_in_po PASSED [ 13%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_translate_comment_with_translation_in_po PASSED [ 13%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_meta_social_media_tags_translation PASSED [ 13%] 773s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_meta_non_translatable_tags_preserved PASSED [ 13%] 774s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 13%] 774s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 13%] 774s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 13%] 775s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 13%] 775s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 13%] 775s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 13%] 775s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 13%] 775s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 13%] 775s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 13%] 775s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 13%] 775s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 13%] 775s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 13%] 775s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 13%] 775s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 13%] 775s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 13%] 775s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 13%] 775s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 13%] 775s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 13%] 775s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 13%] 775s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 13%] 775s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 13%] 775s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 13%] 775s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 775s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 775s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 775s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 775s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 775s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 775s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 775s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 775s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 775s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 775s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 775s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 14%] 775s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 14%] 775s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 775s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 775s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 775s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 775s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 775s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 15%] 775s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 15%] 775s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 15%] 775s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 15%] 775s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 15%] 776s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 15%] 776s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 15%] 776s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 15%] 776s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 15%] 776s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 15%] 776s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 15%] 776s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_table XFAIL [ 15%] 776s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_frontmatter PASSED [ 15%] 776s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_translation_ignore_sections PASSED [ 15%] 776s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 15%] 776s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 15%] 776s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 15%] 776s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 15%] 776s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 15%] 776s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 15%] 776s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 15%] 776s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 15%] 776s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 15%] 776s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 15%] 776s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 15%] 776s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 15%] 776s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 15%] 776s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 15%] 776s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 15%] 776s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 15%] 776s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 15%] 776s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 15%] 776s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 15%] 776s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 15%] 776s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 776s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 776s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_help PASSED [ 16%] 776s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert PASSED [ 16%] 776s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert_with_multiple_units PASSED [ 16%] 776s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 776s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 16%] 776s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 16%] 776s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 16%] 776s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 16%] 776s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 16%] 776s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 16%] 776s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 16%] 776s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 16%] 776s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 16%] 776s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 16%] 776s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 16%] 776s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 16%] 776s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 16%] 776s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 16%] 776s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 16%] 776s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 16%] 776s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 16%] 776s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 16%] 776s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 16%] 776s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 16%] 776s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 16%] 776s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 16%] 776s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 16%] 776s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 16%] 776s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 16%] 776s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 16%] 776s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 16%] 776s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 16%] 776s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 16%] 776s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 16%] 776s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 16%] 776s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 16%] 776s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 16%] 776s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 776s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 17%] 776s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 17%] 776s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 17%] 776s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 17%] 776s tests/translate/convert/test_po2php.py::TestPO2Php::test_return_array_with_comments PASSED [ 17%] 776s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 17%] 776s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 17%] 776s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 17%] 777s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 17%] 777s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 17%] 777s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 17%] 777s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 17%] 777s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 17%] 777s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 17%] 777s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 17%] 777s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 17%] 777s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 17%] 777s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 17%] 777s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 17%] 777s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 17%] 777s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 17%] 777s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 17%] 777s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 17%] 777s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 17%] 777s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_return_array_with_comments PASSED [ 17%] 777s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 17%] 777s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 17%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 17%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 17%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 17%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 17%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 17%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 17%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_value_no_key PASSED [ 17%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 17%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 17%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 17%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 17%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_utf16_with_empty_lines PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_value_no_key PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 18%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 19%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 19%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 19%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_utf16_with_empty_lines PASSED [ 19%] 777s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 19%] 777s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 19%] 778s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 19%] 779s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 19%] 779s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 19%] 779s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 19%] 780s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 19%] 780s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 19%] 780s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 19%] 780s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 19%] 781s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 19%] 781s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 19%] 781s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 19%] 781s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 19%] 781s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes_strintable PASSED [ 19%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 19%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 19%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 19%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 19%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 19%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 19%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 19%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 19%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 19%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 19%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 19%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 19%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 19%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 19%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 19%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 19%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 19%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 19%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_plus_in_resourcekey PASSED [ 19%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_special_chars_in_resourcekey PASSED [ 19%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 20%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 20%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 20%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 20%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 20%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 20%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 20%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 20%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 20%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 20%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 20%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 20%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 20%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 20%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 20%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 20%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_plus_in_resourcekey PASSED [ 20%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_special_chars_in_resourcekey PASSED [ 20%] 781s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 20%] 781s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 20%] 782s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 20%] 782s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 20%] 782s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 20%] 782s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 20%] 782s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 20%] 782s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 20%] 782s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 20%] 782s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 20%] 782s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 20%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 20%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 20%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 20%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 20%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 20%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 20%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 20%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 20%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 21%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 21%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 21%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 21%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 21%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 21%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 21%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 21%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 21%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 21%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 21%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 21%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 21%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 21%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 21%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 21%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 21%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 21%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 21%] 782s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context PASSED [ 21%] 782s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_simple_convert PASSED [ 21%] 782s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_nested_convert PASSED [ 21%] 782s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_template_required PASSED [ 21%] 782s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_untranslated_uses_source PASSED [ 21%] 782s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 21%] 782s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 21%] 782s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 21%] 782s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 21%] 782s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 21%] 782s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 21%] 782s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 21%] 782s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 21%] 782s tests/translate/convert/test_po2ts.py::TestPO2TS::test_plural PASSED [ 21%] 782s tests/translate/convert/test_po2ts.py::TestPO2TS::test_plural_fuzzy PASSED [ 21%] 782s tests/translate/convert/test_po2ts.py::TestPO2TS::test_unit_without_location PASSED [ 21%] 782s tests/translate/convert/test_po2ts.py::TestPO2TS::test_mixed_units_with_and_without_location PASSED [ 21%] 782s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 21%] 782s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 21%] 782s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 21%] 782s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 22%] 782s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 22%] 782s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 22%] 782s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 22%] 782s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 22%] 782s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_plural PASSED [ 22%] 782s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_plural_fuzzy PASSED [ 22%] 782s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_unit_without_location PASSED [ 22%] 782s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_mixed_units_with_and_without_location PASSED [ 22%] 782s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_substring_replacement PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_duplicate_text_segment_based_replacement PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_dokuwiki_flavour_segmentation PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_substring_replacement PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_duplicate_text_segment_based_replacement PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_dokuwiki_flavour_segmentation PASSED [ 22%] 782s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 22%] 782s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 22%] 782s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 22%] 782s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 22%] 782s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 22%] 782s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 22%] 782s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 22%] 782s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 23%] 782s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 23%] 782s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 23%] 782s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 23%] 782s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 23%] 782s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 23%] 782s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 23%] 782s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 23%] 782s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 23%] 782s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 23%] 782s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 23%] 782s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 23%] 782s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 23%] 782s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 23%] 782s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 23%] 782s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 23%] 782s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 23%] 782s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 23%] 782s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 23%] 782s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 23%] 782s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 23%] 782s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 23%] 782s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 23%] 782s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 23%] 782s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 23%] 782s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 23%] 782s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 23%] 782s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 23%] 782s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 23%] 782s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 23%] 782s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 23%] 782s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 23%] 782s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 23%] 782s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 23%] 782s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 23%] 782s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 23%] 782s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 23%] 782s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 23%] 782s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 23%] 782s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 24%] 782s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 24%] 782s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 24%] 782s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 24%] 782s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overrides_old PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurrect_obsolete_messages PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurrect_obsolete_messages_into_msgidcomment PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 24%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overrides_old PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurrect_obsolete_messages PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurrect_obsolete_messages_into_msgidcomment PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 25%] 783s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 25%] 783s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 25%] 783s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 25%] 783s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 25%] 783s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 25%] 783s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 25%] 783s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 25%] 783s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 25%] 783s tests/translate/convert/test_prop2po.py::TestProp2PO::test_value_no_key_entry PASSED [ 25%] 783s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 25%] 783s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 25%] 783s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 25%] 784s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 25%] 784s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 25%] 784s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_locations_mozilla PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2PO::test_strings_bilingual_simple PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2PO::test_strings_bilingual_multiline PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_value_no_key_entry PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_locations_mozilla PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 26%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 27%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_strings_bilingual_simple PASSED [ 27%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_strings_bilingual_multiline PASSED [ 27%] 784s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 27%] 784s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 27%] 784s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 27%] 785s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 27%] 785s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 27%] 785s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 27%] 785s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 27%] 785s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 27%] 785s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 27%] 785s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 27%] 785s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 27%] 785s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 27%] 785s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 27%] 785s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 27%] 785s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 27%] 785s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 27%] 785s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 27%] 785s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 27%] 785s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 27%] 785s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 27%] 785s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 27%] 785s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 27%] 785s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 27%] 785s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 27%] 785s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 27%] 785s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 27%] 785s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 27%] 785s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 27%] 785s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_simple_convert PASSED [ 27%] 785s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_nested_convert PASSED [ 27%] 785s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_comment_extraction PASSED [ 27%] 785s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_merge_with_template PASSED [ 27%] 785s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 27%] 785s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 27%] 785s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 27%] 785s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 27%] 785s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 28%] 785s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 28%] 785s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 28%] 785s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 28%] 785s tests/translate/convert/test_ts2po.py::TestTS2PO::test_plural PASSED [ 28%] 785s tests/translate/convert/test_ts2po.py::TestTS2PO::test_plural_unfinished PASSED [ 28%] 785s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 28%] 785s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 28%] 785s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 28%] 785s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 28%] 785s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 28%] 785s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 28%] 785s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 28%] 785s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 28%] 785s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_plural PASSED [ 28%] 785s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_plural_unfinished PASSED [ 28%] 785s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 28%] 785s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 29%] 785s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 29%] 785s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 29%] 785s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 29%] 785s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 29%] 785s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 29%] 785s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 29%] 786s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 29%] 786s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 29%] 786s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 29%] 786s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 29%] 786s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 29%] 786s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 30%] 787s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 30%] 787s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 30%] 787s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_comment_extraction PASSED [ 30%] 787s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_comment_extraction_nested PASSED [ 30%] 787s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 30%] 787s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 30%] 787s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 30%] 787s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 30%] 787s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 30%] 787s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 30%] 788s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_comment_extraction PASSED [ 30%] 788s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_comment_extraction_nested PASSED [ 30%] 788s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 30%] 788s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 30%] 788s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 30%] 788s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 30%] 788s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 30%] 788s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 30%] 788s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 30%] 788s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 30%] 788s tests/translate/filters/test_checks.py::test_defaults PASSED [ 30%] 788s tests/translate/filters/test_checks.py::test_construct PASSED [ 30%] 788s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 30%] 788s tests/translate/filters/test_checks.py::test_messages PASSED [ 30%] 788s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 30%] 788s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 30%] 788s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 30%] 788s tests/translate/filters/test_checks.py::test_blank PASSED [ 30%] 788s tests/translate/filters/test_checks.py::test_brackets PASSED [ 30%] 788s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 30%] 788s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 30%] 788s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 30%] 788s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 30%] 788s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 30%] 788s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 30%] 788s tests/translate/filters/test_checks.py::test_escapes PASSED [ 30%] 788s tests/translate/filters/test_checks.py::test_newlines PASSED [ 30%] 788s tests/translate/filters/test_checks.py::test_tabs PASSED [ 30%] 788s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 31%] 788s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 31%] 788s tests/translate/filters/test_checks.py::test_long PASSED [ 31%] 788s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 31%] 788s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 31%] 788s tests/translate/filters/test_checks.py::test_numbers PASSED [ 31%] 788s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 31%] 788s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 31%] 788s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 31%] 788s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 31%] 788s tests/translate/filters/test_checks.py::test_options PASSED [ 31%] 788s tests/translate/filters/test_checks.py::test_printf PASSED [ 31%] 788s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 31%] 788s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 31%] 788s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 31%] 788s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 31%] 789s tests/translate/filters/test_checks.py::test_short PASSED [ 31%] 789s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 31%] 789s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 31%] 789s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 31%] 789s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 31%] 789s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 31%] 789s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 31%] 789s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 31%] 789s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 31%] 789s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 31%] 789s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 31%] 789s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 31%] 789s tests/translate/filters/test_checks.py::test_validchars PASSED [ 31%] 789s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 31%] 789s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 31%] 789s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 31%] 789s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 31%] 789s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 31%] 789s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 31%] 789s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 31%] 789s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 31%] 789s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 31%] 789s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 31%] 789s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 32%] 789s tests/translate/filters/test_checks.py::test_functions PASSED [ 32%] 789s tests/translate/filters/test_checks.py::test_emails PASSED [ 32%] 789s tests/translate/filters/test_checks.py::test_urls PASSED [ 32%] 789s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 32%] 789s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 32%] 789s tests/translate/filters/test_checks.py::test_credits PASSED [ 32%] 789s tests/translate/filters/test_checks.py::test_gconf PASSED [ 32%] 789s tests/translate/filters/test_checks.py::test_validxml PASSED [ 32%] 789s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 32%] 789s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 32%] 789s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 32%] 789s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 32%] 789s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 32%] 789s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 32%] 789s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 32%] 789s tests/translate/filters/test_checks.py::test_category PASSED [ 32%] 789s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 32%] 789s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 32%] 789s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 32%] 789s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 32%] 789s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 32%] 789s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 32%] 789s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 32%] 789s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 32%] 789s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 32%] 789s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existent_check PASSED [ 32%] 789s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 32%] 789s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 32%] 789s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 32%] 790s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 32%] 790s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 32%] 790s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 32%] 790s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 32%] 790s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 32%] 790s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 32%] 790s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 32%] 790s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 32%] 790s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 32%] 790s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existent_check PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existent_check PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existent_check PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 33%] 790s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 34%] 790s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 34%] 790s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 34%] 790s tests/translate/lang/test_af.py::test_sentences PASSED [ 34%] 790s tests/translate/lang/test_af.py::test_capsstart PASSED [ 34%] 790s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 34%] 790s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 34%] 790s tests/translate/lang/test_am.py::test_sentences PASSED [ 34%] 790s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 34%] 790s tests/translate/lang/test_ar.py::test_sentences PASSED [ 34%] 790s tests/translate/lang/test_common.py::test_characters PASSED [ 34%] 790s tests/translate/lang/test_common.py::test_words PASSED [ 34%] 790s tests/translate/lang/test_common.py::test_word_khmer PASSED [ 34%] 790s tests/translate/lang/test_common.py::test_sentences PASSED [ 34%] 790s tests/translate/lang/test_common.py::test_capsstart PASSED [ 34%] 790s tests/translate/lang/test_common.py::test_numstart PASSED [ 34%] 790s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 34%] 790s tests/translate/lang/test_common.py::test_length_difference PASSED [ 34%] 790s tests/translate/lang/test_common.py::test_alter_length PASSED [ 34%] 790s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 34%] 790s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 34%] 790s tests/translate/lang/test_data.py::test_is_rtl PASSED [ 34%] 790s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 34%] 790s tests/translate/lang/test_el.py::test_sentences PASSED [ 34%] 790s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 34%] 790s tests/translate/lang/test_es.py::test_sentences PASSED [ 34%] 790s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 34%] 790s tests/translate/lang/test_fa.py::test_sentences PASSED [ 34%] 790s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 34%] 790s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 34%] 790s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 34%] 790s tests/translate/lang/test_fr.py::test_sentences PASSED [ 34%] 790s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 34%] 790s tests/translate/lang/test_hy.py::test_sentences PASSED [ 34%] 791s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 34%] 791s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 34%] 791s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 34%] 791s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 34%] 791s tests/translate/lang/test_ja.py::test_sentences PASSED [ 34%] 791s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 35%] 791s tests/translate/lang/test_km.py::test_sentences PASSED [ 35%] 791s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 35%] 791s tests/translate/lang/test_ko.py::test_sentences PASSED [ 35%] 791s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 35%] 791s tests/translate/lang/test_ne.py::test_sentences PASSED [ 35%] 791s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 35%] 791s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 35%] 791s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 35%] 791s tests/translate/lang/test_or.py::test_country_code PASSED [ 35%] 791s tests/translate/lang/test_or.py::test_sentences PASSED [ 35%] 791s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 35%] 791s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 35%] 791s tests/translate/lang/test_ro.py::test_niciun PASSED [ 35%] 791s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 35%] 791s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 35%] 791s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 35%] 791s tests/translate/lang/test_team.py::test_simple PASSED [ 35%] 791s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 35%] 791s tests/translate/lang/test_th.py::test_sentences PASSED [ 35%] 791s tests/translate/lang/test_tr.py::test_sentences PASSED [ 35%] 791s tests/translate/lang/test_uk.py::test_sentences PASSED [ 35%] 791s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 35%] 791s tests/translate/lang/test_vi.py::test_sentences PASSED [ 35%] 791s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 35%] 791s tests/translate/lang/test_zh.py::test_sentences PASSED [ 35%] 791s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 35%] 791s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 35%] 791s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 35%] 791s tests/translate/misc/test_dictutils.py::test_cidict_pop PASSED [ 35%] 791s tests/translate/misc/test_dictutils.py::test_cidict_getitem PASSED [ 35%] 791s tests/translate/misc/test_dictutils.py::test_cidict_setitem PASSED [ 35%] 791s tests/translate/misc/test_dictutils.py::test_cidict_delitem PASSED [ 35%] 791s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 35%] 791s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 35%] 791s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 35%] 791s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 35%] 791s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 35%] 791s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 35%] 791s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 36%] 791s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 36%] 791s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 36%] 791s tests/translate/misc/test_multistring.py::TestMultistring::test_bool PASSED [ 36%] 791s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 36%] 791s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 36%] 791s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 36%] 791s tests/translate/misc/test_quote.py::test_find_all PASSED [ 36%] 791s tests/translate/misc/test_quote.py::test_extract PASSED [ 36%] 791s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 36%] 791s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 36%] 791s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 36%] 791s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 36%] 791s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_iso_8859_1 PASSED [ 36%] 791s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_ascii PASSED [ 36%] 791s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_unicode_range PASSED [ 36%] 791s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 36%] 791s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 36%] 791s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 36%] 791s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 36%] 791s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 36%] 791s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 36%] 791s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 36%] 791s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 36%] 791s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 36%] 791s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 36%] 791s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 36%] 791s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 36%] 791s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 36%] 791s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 36%] 791s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 36%] 791s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 36%] 791s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 36%] 791s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 36%] 791s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 36%] 791s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 36%] 791s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 36%] 791s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 36%] 791s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 36%] 791s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 37%] 791s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 37%] 792s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 37%] 792s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 37%] 792s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 37%] 792s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 37%] 792s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 37%] 792s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 37%] 792s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 37%] 792s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 37%] 792s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 37%] 792s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 37%] 792s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 37%] 792s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 37%] 792s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 37%] 792s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 37%] 792s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 38%] 792s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 38%] 792s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 38%] 792s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 38%] 792s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 38%] 792s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 38%] 792s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 38%] 792s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 38%] 792s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 38%] 792s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 38%] 792s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 38%] 792s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_line_number_default PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 38%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 39%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_xml PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 40%] 792s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 40%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 40%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 40%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 40%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 40%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 40%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 40%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 40%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse_decimal_plurals PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_to_plurals PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_empty_missing_plural_tag PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_line_number_default PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escape_quote PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 41%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_isfuzzy PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_create PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_eq PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_escapes PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_difficult_escapes PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_note_sanity PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_line_number_default PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_target PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_rich_get PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_rich_set PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_escape_quote PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_create_blank PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_add PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_remove PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_find PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_parse PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_files PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_save PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_extensions PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_mimetypes PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_translate PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_markup PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_nonascii PASSED [ 42%] 793s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_quote_escape PASSED [ 42%] 793s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 42%] 793s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 42%] 793s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 42%] 793s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 42%] 793s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 42%] 793s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 793s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 793s tests/translate/storage/test_base.py::TestTranslationUnit::test_line_number_default PASSED [ 43%] 793s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 43%] 793s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 43%] 793s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 43%] 793s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 43%] 793s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 43%] 793s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 43%] 793s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 43%] 793s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 43%] 793s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 43%] 793s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 43%] 793s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 43%] 793s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 43%] 793s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 43%] 793s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 43%] 793s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_create_empty_bundle PASSED [ 43%] 793s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_create_bundle_from_nonexistent_file PASSED [ 43%] 793s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle PASSED [ 43%] 793s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save PASSED [ 43%] 793s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip PASSED [ 43%] 793s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle PASSED [ 43%] 793s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_update_file_in_bundle PASSED [ 43%] 793s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle PASSED [ 43%] 793s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_invalid_bundle_error PASSED [ 43%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 43%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 43%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 43%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 43%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 43%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_line_number_default PASSED [ 43%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 43%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 43%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 43%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 43%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 43%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 43%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 43%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 44%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 44%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 44%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 44%] 793s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_line_number_default PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 44%] 793s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 44%] 794s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 44%] 794s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 44%] 794s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 794s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 794s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 45%] 794s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 45%] 794s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 45%] 794s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 45%] 794s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 45%] 794s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding_save PASSED [ 45%] 794s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_id_target PASSED [ 45%] 794s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_context_target PASSED [ 45%] 794s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_key_translation PASSED [ 45%] 794s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_roundtrip PASSED [ 45%] 794s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_context_roundtrip PASSED [ 45%] 794s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_id_context_roundtrip PASSED [ 45%] 794s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_target_only_roundtrip PASSED [ 45%] 794s tests/translate/storage/test_csvl10n.py::TestCSV::test_quote_nonnumeric_handling PASSED [ 45%] 794s tests/translate/storage/test_csvl10n.py::TestCSV::test_quote_nonnumeric_with_single_quotes PASSED [ 45%] 794s tests/translate/storage/test_csvl10n.py::TestCSV::test_line_number PASSED [ 45%] 794s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 45%] 794s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 45%] 794s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 45%] 794s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 45%] 794s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 45%] 794s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 45%] 794s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 45%] 794s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 45%] 794s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 45%] 794s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 45%] 794s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 45%] 794s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 45%] 794s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 45%] 794s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 45%] 794s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 45%] 794s tests/translate/storage/test_dtd.py::TestDTDUnit::test_line_number_default PASSED [ 45%] 794s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 45%] 794s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 45%] 794s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 45%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 45%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 45%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_multiple_blank_lines PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_entity_with_extra_spaces PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestDTD::test_mixed_content_preservation PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 46%] 794s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 794s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 794s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 47%] 794s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 47%] 794s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 47%] 794s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 47%] 794s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 47%] 794s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 47%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 47%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 47%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 47%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 47%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_line_number_default PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 48%] 794s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 48%] 794s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 48%] 794s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 48%] 794s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 48%] 794s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 48%] 794s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 48%] 794s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 48%] 794s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 48%] 794s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 48%] 794s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 48%] 794s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 48%] 794s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 48%] 794s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_button PASSED [ 48%] 794s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_lang_attribute PASSED [ 48%] 794s tests/translate/storage/test_html.py::TestHTMLExtraction::test_dir_attribute_not_extracted PASSED [ 49%] 794s tests/translate/storage/test_html.py::TestHTMLExtraction::test_data_translate_ignore_attribute PASSED [ 49%] 794s tests/translate/storage/test_html.py::TestHTMLExtraction::test_translate_comment_directives PASSED [ 49%] 794s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_social_media_tags PASSED [ 49%] 794s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_non_translatable_tags PASSED [ 49%] 794s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_mixed_translatable_and_non_translatable PASSED [ 49%] 794s tests/translate/storage/test_html.py::TestHTMLExtraction::test_data_translate_comment_attribute PASSED [ 49%] 794s tests/translate/storage/test_html_context.py::test_html_context_basic PASSED [ 49%] 794s tests/translate/storage/test_html_context.py::test_html_context_attribute PASSED [ 49%] 794s tests/translate/storage/test_html_context.py::test_html_context_attribute_with_id PASSED [ 49%] 794s tests/translate/storage/test_html_context.py::test_html_context_same_source_different_contexts PASSED [ 49%] 794s tests/translate/storage/test_html_context.py::test_html_context_nested_outer_wins PASSED [ 49%] 794s tests/translate/storage/test_html_context.py::test_html_context_absent PASSED [ 49%] 794s tests/translate/storage/test_html_context.py::test_html_context_id_overridden_by_explicit PASSED [ 49%] 794s tests/translate/storage/test_html_context.py::test_html_context_id_not_used_when_no_duplicates PASSED [ 49%] 794s tests/translate/storage/test_html_context.py::test_html_context_id_not_used_when_data_translate_context_identical PASSED [ 49%] 794s tests/translate/storage/test_html_context.py::test_html_context_disambiguates_duplicates_with_id PASSED [ 49%] 794s tests/translate/storage/test_html_context.py::test_html_context_disambiguates_duplicates_with_ancestor_id PASSED [ 49%] 794s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 49%] 794s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 49%] 794s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 49%] 794s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 49%] 794s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 49%] 794s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 49%] 794s tests/translate/storage/test_ini.py::TestINIUnit::test_line_number_default PASSED [ 49%] 794s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 49%] 794s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 49%] 794s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 49%] 794s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 49%] 794s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 49%] 794s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 49%] 794s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 49%] 794s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 49%] 794s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 49%] 794s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 49%] 794s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 49%] 794s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 49%] 794s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 49%] 794s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 49%] 794s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 794s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 794s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_line_number_default PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 50%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_line_number_default PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_line_number_default PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 51%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_comments PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 52%] 794s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 53%] 794s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 54%] 794s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 54%] 794s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 54%] 794s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 54%] 794s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 54%] 794s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 54%] 794s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 54%] 794s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 54%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_invalid_nesting PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_empty_metadata_not_stored PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_invalid PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_isfuzzy PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_create PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_eq PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_escapes PASSED [ 55%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_difficult_escapes PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_note_sanity PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_line_number_default PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_target PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_rich_get PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_rich_set PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_source_property_maps_to_id PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_source_roundtrip PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_create_blank PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_remove PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_find PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_files PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_save PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_extensions PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_mimetypes PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_translate PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_markup PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_nonascii PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse_simple PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_serialize_simple PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse_with_plurals PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_preserve_plural_form PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_roundtrip_with_plurals PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_ignore_non_translations_keys PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_preserve_other_metadata PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add_unit PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add_plural_unit PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_empty_translations PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_create_blank PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_add PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_remove PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_find PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_parse PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_files PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_save PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_extensions PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_mimetypes PASSED [ 56%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_translate PASSED [ 57%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_markup PASSED [ 57%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_nonascii PASSED [ 57%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_roundtrip PASSED [ 57%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_basic_parsing PASSED [ 57%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_multiple_metadata PASSED [ 57%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_no_metadata PASSED [ 57%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_edit_target PASSED [ 57%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_edit_notes PASSED [ 57%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_keys_with_dots PASSED [ 57%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_leading_dot_keys PASSED [ 57%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_invalid_nesting PASSED [ 57%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_property_get_set PASSED [ 57%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_property_persists PASSED [ 57%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_getcontext_returns_id PASSED [ 57%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_parsing_preserves_order PASSED [ 57%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_metadata_without_translation PASSED [ 57%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_complex_keys_with_multiple_dots PASSED [ 57%] 795s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_empty_string PASSED [ 57%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_basic PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_with_markup PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_with_code_block PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_multiple_ignore_sections PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_at_start PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_at_end PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_nested_structures_in_ignore PASSED [ 58%] 795s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_link_references_in_ignore PASSED [ 58%] 795s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 795s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 795s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 795s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 795s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 795s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 795s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 795s tests/translate/storage/test_mo.py::TestMOUnit::test_line_number_default PASSED [ 58%] 795s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 795s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 795s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 795s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 795s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 795s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 795s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 59%] 795s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 59%] 795s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 59%] 795s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 59%] 795s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 59%] 795s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 59%] 795s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 59%] 795s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 59%] 795s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 795s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 795s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 795s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 59%] 795s tests/translate/storage/test_mo.py::TestMOFile::test_endian_version_parsing PASSED [ 59%] 795s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 795s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 795s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 795s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 795s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 795s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 795s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_line_number_default PASSED [ 59%] 795s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 795s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 795s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 795s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 795s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 795s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 795s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 795s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 795s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 795s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 795s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 795s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 795s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 795s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 795s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 795s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 795s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 795s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 795s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 795s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[\u015e\u0167\u0159\u012b\u019e\u0260 {ok}-\u015e\u0167\u0159\u012b\u019e\u0260] PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_line_number_default PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 795s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_line_number PASSED [ 61%] 795s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_isfuzzy PASSED [ 61%] 795s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_create PASSED [ 61%] 795s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_eq PASSED [ 61%] 795s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_target PASSED [ 61%] 795s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_escapes PASSED [ 61%] 795s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_difficult_escapes PASSED [ 61%] 795s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_note_sanity PASSED [ 61%] 795s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_line_number_default PASSED [ 61%] 795s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_rich_get PASSED [ 61%] 795s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_rich_set PASSED [ 61%] 795s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_create_blank PASSED [ 61%] 795s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_add PASSED [ 61%] 795s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_remove PASSED [ 61%] 795s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_find PASSED [ 61%] 795s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_translate PASSED [ 61%] 795s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_parse PASSED [ 61%] 795s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_files PASSED [ 61%] 795s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_save PASSED [ 61%] 795s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_markup PASSED [ 61%] 795s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_nonascii PASSED [ 61%] 795s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_mimetypes PASSED [ 61%] 795s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_extensions XFAIL [ 61%] 795s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 795s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 795s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 795s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 795s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 795s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 795s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 795s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 795s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 795s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 795s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 795s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 795s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 795s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 795s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 795s tests/translate/storage/test_php.py::TestPhpUnit::test_line_number_default PASSED [ 62%] 795s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 795s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 795s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 795s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 795s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 795s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 795s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 795s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 795s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 795s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 795s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 796s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 796s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 796s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 796s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 796s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 796s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 796s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 796s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 796s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 796s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 796s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 796s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 796s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 796s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 796s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 796s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 796s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 62%] 796s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 62%] 796s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 796s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 63%] 797s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 63%] 798s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 63%] 798s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 63%] 798s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_with_spaces PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_with_comments PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_line_number_default PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping_array_syntax PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping_numeric_keys PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_roundtrip_short_array PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_roundtrip_array_syntax PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_preserves_structure PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_with_array_syntax PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_addunit_with_setid PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_unit_to_short_array_file PASSED [ 64%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_unit_to_array_function_file PASSED [ 65%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_multiple_units_to_short_array PASSED [ 65%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_multiple_units_to_array_function PASSED [ 65%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_numeric_keys_no_quotes PASSED [ 65%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_empty_string_key PASSED [ 65%] 798s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_with_non_string_value PASSED [ 65%] 798s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOUnit::test_line_number_default PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 798s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 798s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 798s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 798s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 798s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 798s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 798s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 798s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 798s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_invalid_keyword PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 66%] 799s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_spaces PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_fit PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_overflow PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_multiline PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_escapes PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_wrap_escape_line PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_wrap_wide_stop PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_wrap_escape PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_c_style_comment_error_reporting PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_unusual_line_endings PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_charset_with_space PASSED [ 67%] 799s tests/translate/storage/test_po.py::TestPOFile::test_duplicate_msgid_error PASSED [ 67%] 799s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 799s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 799s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 799s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 799s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 799s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 799s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 799s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 799s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 799s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 799s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 799s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_line_number_default PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 68%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_marktranslatable PASSED [ 69%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_groups_when_adding_units PASSED [ 69%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_multiple_files_and_groups PASSED [ 69%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_unit_to_existing_group PASSED [ 69%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_unit_to_different_file PASSED [ 69%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mixed_groups_and_body PASSED [ 69%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addunit_with_new_false PASSED [ 69%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace_preservation_across_versions PASSED [ 69%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_units_between_different_files PASSED [ 69%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_group_preservation_across_different_namespaces PASSED [ 69%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_cross_namespace_group_and_file_preservation PASSED [ 69%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 799s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 802s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 802s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 802s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 802s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 802s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 802s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 802s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 802s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 802s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 802s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 802s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 802s tests/translate/storage/test_properties.py::test_find_delimiter_pos_empty_and_whitespace PASSED [ 69%] 802s tests/translate/storage/test_properties.py::test_find_delimiter_pos_tabs PASSED [ 69%] 802s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 802s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 802s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 802s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 802s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 803s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 803s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestPropUnit::test_line_number_default PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 803s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_tab_delimiter_parsing PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comments PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comments_nested PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comment_with_spaces PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_before_entry PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_between_key_and_equals PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_between_equals_and_value PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_after_value_before_semicolon PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multiple_inline_comments PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_nested_comment PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_inside_value PASSED [ 71%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_trailing_whitespace_after_semicolon PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestProp::test_utf16_bom_no_warning PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 803s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 803s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 803s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 803s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 803s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_line_number_default PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_with_blank_lines PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 74%] 803s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 74%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid_keyword PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 75%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_spaces PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_fit PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_overflow PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_multiline PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_escapes PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_escape_line PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_wide_stop PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_escape PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_c_style_comment_error_reporting PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unusual_line_endings PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_charset_with_space PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_duplicate_msgid_error PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_future_flags PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 804s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 805s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 805s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 805s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 805s tests/translate/storage/test_pypo.py::TestPYPOFile::test_line_number PASSED [ 77%] 805s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 805s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 805s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 805s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 805s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 805s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 805s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 805s tests/translate/storage/test_qm.py::TestQtUnit::test_line_number_default PASSED [ 77%] 805s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 805s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 805s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 805s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 805s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 805s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 805s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 805s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 805s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 805s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 805s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 805s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 805s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 805s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 805s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 77%] 805s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 77%] 805s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphUnit::test_line_number_default PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 805s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 805s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 805s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 805s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 805s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 805s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 805s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 805s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 805s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 805s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 78%] 805s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 78%] 805s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 78%] 805s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 78%] 805s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 78%] 805s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 78%] 805s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 78%] 805s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 805s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 805s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 806s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 806s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 806s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 806s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 806s tests/translate/storage/test_rc.py::TestRcFile::test_utf16_pragma_code_page PASSED [ 79%] 806s tests/translate/storage/test_rc.py::TestRcFile::test_utf8_pragma_code_page PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_line_number_default PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 79%] 806s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 79%] 806s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 79%] 806s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 79%] 806s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 79%] 806s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 79%] 806s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 79%] 806s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 79%] 806s tests/translate/storage/test_resx.py::TestRESXUnit::test_line_number_default PASSED [ 79%] 806s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_line_number_default PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 80%] 806s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 80%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 80%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 80%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 80%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 80%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 80%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 80%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_line_number_default PASSED [ 80%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 80%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 80%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 80%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 80%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 80%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 806s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 806s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 81%] 806s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 81%] 806s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 81%] 806s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 81%] 806s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 81%] 806s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 81%] 806s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 81%] 806s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 81%] 806s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 81%] 806s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 81%] 806s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 81%] 806s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 81%] 806s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_ordering PASSED [ 81%] 806s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create_blank PASSED [ 81%] 806s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_add PASSED [ 81%] 806s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_remove PASSED [ 81%] 806s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_find PASSED [ 81%] 806s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_parse PASSED [ 81%] 806s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_files PASSED [ 81%] 806s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_save PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_extensions PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_mimetypes PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_translate PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_markup PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_nonascii PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_ordering PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 806s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_ordering PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_ordering PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_style_preservation PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 82%] 806s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 806s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 806s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 806s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 806s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 806s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 806s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 806s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 806s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_ordering PASSED [ 83%] 806s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_style_preservation PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXUnit::test_line_number_default PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 83%] 806s tests/translate/storage/test_tbx.py::TestTBXfile::test_administrative_status_and_translation_needed PASSED [ 84%] 806s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 806s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 806s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 806s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 806s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 806s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXUnit::test_line_number_default PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_line_number_default PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_context PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 84%] 806s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 806s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 806s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 806s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 806s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 806s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 807s tests/translate/storage/test_tmx.py::TestTMXfile::test_context PASSED [ 85%] 807s tests/translate/storage/test_tmx.py::TestTMXfile::test_note_order PASSED [ 85%] 807s tests/translate/storage/test_tmx.py::TestTMXfile::test_prop_and_note_order PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_isfuzzy PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_create PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_eq PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_escapes PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_difficult_escapes PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_note_sanity PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_line_number_default PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_target PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_rich_get PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_rich_set PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_getlocations PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_create_blank PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_add PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_find PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_parse PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_files PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_save PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_extensions PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_mimetypes PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_translate PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_markup PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_nonascii PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_serialize PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_empty PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_edit PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_edit_unicode PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_parse_unicode_list PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_ordering PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_nested PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline PASSED [ 85%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_boolean PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_integer PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_no_quote_strings PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_double_quote_strings PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_single_quote_strings PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_escaped_double_quotes PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_newlines PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_list PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_inline_table PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_key_nesting PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_add_to_empty PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_dict_in_list PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_remove PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_special PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_extraction_simple PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_extraction_multiline PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_no_comment_backwards_compat PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_simple PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_multiline PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_nested PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_with_modification PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_literal_string PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline_basic_string PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline_literal_string PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_create_blank PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_add PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_remove PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_find PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_parse PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_files PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_save PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_extensions PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_mimetypes PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_translate PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_markup PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_nonascii PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_simple_plural PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_plural_with_other_keys PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_full_plural_forms PASSED [ 86%] 807s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_roundtrip_plural PASSED [ 87%] 807s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_mixed_content PASSED [ 87%] 807s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_letsencrypt_style PASSED [ 87%] 807s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_comment_preservation_goi18n PASSED [ 87%] 807s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_comment_preservation_goi18n_plural PASSED [ 87%] 807s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 807s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 807s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSUnit::test_line_number_default PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 87%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 807s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtUnit::test_line_number_default PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 88%] 807s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 88%] 807s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 88%] 807s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 88%] 807s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 88%] 807s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 88%] 807s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 88%] 807s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 88%] 807s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 807s tests/translate/storage/test_utx.py::TestUtxUnit::test_line_number_default PASSED [ 89%] 807s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 807s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 807s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 807s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 807s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 807s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 807s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 807s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 807s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 807s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 807s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 807s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 807s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 807s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFUnit::test_line_number_default PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 807s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 807s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 807s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 807s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_line_number_default PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_marktranslatable PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_groups_when_adding_units PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_multiple_files_and_groups PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_unit_to_existing_group PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_unit_to_different_file PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mixed_groups_and_body PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addunit_with_new_false PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace_preservation_across_versions PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_units_between_different_files PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_group_preservation_across_different_namespaces PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_cross_namespace_group_and_file_preservation PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 91%] 807s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 91%] 811s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 91%] 811s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 91%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_isfuzzy PASSED [ 91%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_create PASSED [ 91%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_eq PASSED [ 91%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_target PASSED [ 91%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_escapes PASSED [ 91%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_difficult_escapes PASSED [ 91%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_note_sanity PASSED [ 91%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_line_number_default PASSED [ 91%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_rich_get PASSED [ 91%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_rich_set PASSED [ 91%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_notes PASSED [ 91%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_id_management PASSED [ 91%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_marktranslatable PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_create_blank PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_add PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_remove PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_find PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_translate PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_files PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_save PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_markup PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_nonascii PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_extensions PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_mimetypes PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_basic PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_source_target PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_language_attributes PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_namespace PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_unit_structure PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_multiple_units PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse_xliff2 PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse_translate_attribute PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_multiple_segments_per_unit PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_mixed_single_and_multiple_segments PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_segments_without_ids PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_escaped_inline_tags PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_simple_source_target_pairs PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_malformed_xml_declaration PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_variable_placeholders PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_add_unit PASSED [ 92%] 811s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_states PASSED [ 92%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_line_number_default PASSED [ 92%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 811s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_simple PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_multiline PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_nested PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_mixed PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_comment_backwards_compat PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline_literal_format PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_blank PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_partial PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_pt_br PASSED [ 94%] 812s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_bug_ruby_remove_zero_few_and_mix_others PASSED [ 94%] 812s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 812s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 812s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 812s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 95%] 812s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 95%] 812s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 95%] 812s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 95%] 812s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 95%] 812s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 95%] 813s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 95%] 813s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 95%] 814s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 95%] 814s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 95%] 814s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 95%] 814s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 95%] 815s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 95%] 815s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 95%] 815s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 95%] 815s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 816s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 816s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 816s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 817s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 817s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 817s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 817s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 817s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 817s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 817s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 817s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 817s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 817s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 817s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 817s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 817s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 817s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 817s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 817s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 817s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 817s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 817s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 817s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 817s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::test_csv_line_terminator PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_fuzzy_with_target PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_fuzzy_without_target PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_translated_not_fuzzy PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_untranslated_empty_target PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_categorization_mutually_exclusive PASSED [ 96%] 817s tests/translate/tools/test_pocount.py::TestPOCountLineEndings::test_unusual_line_endings PASSED [ 96%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank_clears_fuzzy PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank_with_plurals PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 817s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 817s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 817s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 817s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 817s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 817s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 817s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 817s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 817s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 817s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 817s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 817s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 817s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 98%] 817s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 98%] 817s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 98%] 817s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 98%] 817s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 98%] 817s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 98%] 817s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 817s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 817s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 817s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 817s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 817s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 817s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 817s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 817s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 817s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 817s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 817s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 817s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 817s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 817s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 818s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 818s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 818s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 818s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 818s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 818s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 818s tests/translate/tools/test_posegment.py::TestPOSegment::test_transifex_po PASSED [ 98%] 818s tests/translate/tools/test_posegment.py::TestXLIFFSegment::test_xliff_en_simple PASSED [ 98%] 818s tests/translate/tools/test_posegment.py::TestXLIFFSegment::test_xliff_untranslated PASSED [ 98%] 818s tests/translate/tools/test_posegment.py::TestTMXSegment::test_tmx_en_simple PASSED [ 98%] 818s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 818s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_unitinfo_stores_minimal_data PASSED [ 98%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overrides_old PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurrect_obsolete_messages PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overrides_old PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurrect_obsolete_messages PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 818s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 818s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 818s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 818s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 818s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 818s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 818s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 823s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 823s 823s =============================== warnings summary =============================== 823s ../../../usr/lib/python3/dist-packages/pyparsing/core.py:5637 823s Warning: 'return' in a 'finally' block 823s 823s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 823s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AFZJC1/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 823s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 823s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 823s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 823s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 823s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 823s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 823s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 823s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 823s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 823s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 823s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 823s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 823s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 823s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 823s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 823s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 823s Warning: Could not find accesskey for key.accesskey 823s 823s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 823s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 823s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 823s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 823s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 823s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AFZJC1/autopkgtest_tmp/tests/translate/convert/test.idml'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 823s Warning: unclosed file <_io.BufferedReader name='translation.po'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert 823s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert_with_multiple_units 823s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 823s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AFZJC1/autopkgtest_tmp/tests/translate/convert/test.odt'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces 823s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces 823s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 823s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 823s Warning: Could not find accesskey for prop.accesskey 823s 823s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context 823s Warning: unclosed file <_io.BufferedReader name='test.po'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context 823s Warning: unclosed file <_io.TextIOWrapper name='TestPO2TMXCommand_test_context/test.tmx' mode='r' encoding='UTF-8'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 823s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 823s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 823s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 823s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 823s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 823s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 823s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 823s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 823s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 823s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 823s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 823s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 823s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 823s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 823s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 823s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 823s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 823s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 823s 823s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle 823s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle 823s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpv_ysrtos_test.txt'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save 823s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save 823s Warning: unclosed file <_io.BufferedReader name='/tmp/tmprk4_ufli_crossdevice.txt'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip 823s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip 823s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpl7ye6ol6_initial.txt'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 823s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 823s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp7lu4m031_load_test.txt'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 823s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 823s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp2xic4bzd_load_test.txt'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 823s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 823s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpjmen0vzh_file0.txt'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 823s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 823s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp_9x510v8_file1.txt'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 823s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 823s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpc6qco637_file2.txt'> 823s Enable tracemalloc to get traceback where the object was allocated. 823s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 823s 823s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 823s Warning: DTD parse error: :1:35:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 823s :1:35:FATAL:PARSER:ERR_EXT_SUBSET_NOT_FINISHED: Content error in the external subset 823s 823s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 823s Warning: DTD file '' does not validate 823s 823s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 823s --------------------------- snapshot report summary ---------------------------- 823s 23 snapshots passed. 823s =========================== short test summary info ============================ 823s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 823s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 823s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 823s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 823s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 823s XFAIL tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_table - https://github.com/miyuchina/mistletoe/issues/244 823s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 823s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 823s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 823s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 823s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 823s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 823s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 823s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 823s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 823s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 823s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 823s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 823s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 823s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 823s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 823s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 823s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 823s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 823s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 823s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 823s XFAIL tests/translate/storage/test_omegat.py::TestOmegaTFile::test_extensions - This doesn't work, due to two store classes handling different extensions, but factory listing it as one supported file type 823s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 823s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 823s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 823s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 823s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 823s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 823s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 823s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 823s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 823s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 823s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 823s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 823s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 823s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 823s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 823s ===== 3862 passed, 3 skipped, 39 xfailed, 70 warnings in 73.36s (0:01:13) ====== 826s ============================= test session starts ============================== 826s platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0 -- /usr/bin/python3.13 826s cachedir: .pytest_cache 826s rootdir: /tmp/autopkgtest.AFZJC1/autopkgtest_tmp 826s plugins: typeguard-4.4.4, syrupy-5.0.0 848s collecting ... collected 3902 items / 2 skipped 848s 848s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 848s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 848s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 848s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 848s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 848s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 848s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 848s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 848s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 848s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 848s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 848s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 848s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 848s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 848s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 848s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 848s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 848s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 848s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 848s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 848s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 848s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 848s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 848s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 848s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 848s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 848s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 848s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 848s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 848s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 848s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 848s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_line_numbers_in_errors PASSED [ 0%] 848s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 848s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 848s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 0%] 848s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 0%] 848s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 0%] 848s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 0%] 848s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 0%] 848s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 848s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_line_numbers_in_errors PASSED [ 1%] 848s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 848s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 1%] 848s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 1%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 1%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 1%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 849s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 849s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 849s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 2%] 849s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 2%] 849s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 2%] 849s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 2%] 849s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 2%] 849s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 2%] 849s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 2%] 849s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 2%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 2%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 2%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 2%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 2%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 2%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 2%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 3%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_ignore_attribute PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_translate_comment_directives PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_social_media_tags PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_non_translatable_tags_not_extracted PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_mixed_translatable_and_non_translatable PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_comment_attribute PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_comment_without_keepcomments PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2PO::test_text_after_empty_tags PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 4%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_ignore_attribute PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_translate_comment_directives PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_social_media_tags PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_non_translatable_tags_not_extracted PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_mixed_translatable_and_non_translatable PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_comment_attribute PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_comment_without_keepcomments PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_text_after_empty_tags PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 849s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 5%] 849s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 5%] 849s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 5%] 849s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 5%] 849s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 5%] 849s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 5%] 849s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 5%] 849s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 5%] 849s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 5%] 849s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 5%] 849s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 5%] 849s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 5%] 849s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 5%] 849s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 5%] 849s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 849s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 849s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 849s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 849s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 849s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 849s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 849s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 849s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 849s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 849s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 849s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 849s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 849s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 849s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 849s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 849s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 849s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 849s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 849s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 6%] 850s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 6%] 850s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 6%] 850s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 6%] 850s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 6%] 850s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 6%] 850s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 6%] 850s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 6%] 850s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 6%] 850s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 6%] 850s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 6%] 850s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 6%] 850s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 6%] 850s tests/translate/convert/test_json2po.py::TestJson2PO::test_multiple_units PASSED [ 6%] 850s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 6%] 850s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 6%] 850s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 6%] 850s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_multiple_units PASSED [ 6%] 850s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 6%] 850s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 6%] 850s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 850s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 850s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 850s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 850s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_frontmatter PASSED [ 7%] 850s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_translation_ignore_sections PASSED [ 7%] 850s tests/translate/convert/test_moz2po.py::TestMoz2PO::test_duplicate_locations PASSED [ 7%] 850s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_duplicate_locations PASSED [ 7%] 850s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 850s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 850s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 850s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 850s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 850s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 850s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 850s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 850s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 850s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 850s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 7%] 850s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 7%] 850s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 7%] 850s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 7%] 850s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 7%] 850s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 7%] 850s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 7%] 850s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 7%] 850s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 7%] 850s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 7%] 850s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 7%] 850s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 7%] 850s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 7%] 850s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 7%] 850s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 7%] 850s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 7%] 850s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 7%] 850s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 7%] 850s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 7%] 850s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 7%] 850s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 7%] 850s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 850s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 850s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 850s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 850s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 850s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 850s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 850s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 850s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 850s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 850s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 850s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 850s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 850s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 8%] 850s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 8%] 850s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 8%] 850s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 8%] 850s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 8%] 850s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 8%] 850s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 8%] 850s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 8%] 850s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 850s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 8%] 850s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 850s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 850s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 850s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 850s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 850s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 850s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 8%] 850s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 850s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 8%] 850s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 850s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 850s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 8%] 850s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 8%] 851s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 8%] 851s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 8%] 851s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 8%] 851s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 851s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 851s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 851s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 851s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 851s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 851s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 851s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 9%] 851s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 9%] 851s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 9%] 851s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 9%] 851s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 9%] 851s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 9%] 851s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 9%] 851s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 9%] 851s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 9%] 851s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 9%] 851s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 9%] 851s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 9%] 851s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 9%] 851s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 9%] 851s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 9%] 852s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 9%] 852s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 9%] 852s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 9%] 852s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 9%] 852s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 9%] 852s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 9%] 852s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 9%] 852s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 9%] 852s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 9%] 852s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 9%] 852s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 9%] 852s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 9%] 852s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 9%] 852s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 9%] 852s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 9%] 852s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 9%] 852s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 9%] 852s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 852s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 852s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 10%] 852s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 10%] 852s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 10%] 852s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 10%] 852s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 10%] 852s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 10%] 852s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 10%] 852s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 10%] 852s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 10%] 852s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 10%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 11%] 852s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 11%] 852s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 11%] 852s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 11%] 852s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 11%] 852s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 11%] 852s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 11%] 852s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 11%] 852s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 11%] 852s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 11%] 852s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 11%] 852s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 12%] 852s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 12%] 852s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 12%] 852s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 12%] 852s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 12%] 852s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 12%] 852s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 12%] 852s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 12%] 852s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities_template_vs_po_mismatch PASSED [ 12%] 852s tests/translate/convert/test_po2html.py::TestPO2Html::test_utf8_non_ascii_characters PASSED [ 12%] 852s tests/translate/convert/test_po2html.py::TestPO2Html::test_custom_entities_preserved PASSED [ 12%] 852s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 12%] 852s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_auto_rtl PASSED [ 12%] 852s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_auto_ltr PASSED [ 12%] 852s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_added_when_missing PASSED [ 12%] 852s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_not_changed_without_lang_translation PASSED [ 12%] 852s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 12%] 852s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 12%] 852s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 12%] 852s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 12%] 852s tests/translate/convert/test_po2html.py::TestPO2Html::test_button_translation PASSED [ 12%] 853s tests/translate/convert/test_po2html.py::TestPO2Html::test_lang_attribute_only_on_html_tag PASSED [ 12%] 853s tests/translate/convert/test_po2html.py::TestPO2Html::test_data_translate_ignore_preserved PASSED [ 12%] 853s tests/translate/convert/test_po2html.py::TestPO2Html::test_translate_comment_directives_preserved PASSED [ 12%] 853s tests/translate/convert/test_po2html.py::TestPO2Html::test_data_translate_ignore_with_translation_in_po PASSED [ 12%] 853s tests/translate/convert/test_po2html.py::TestPO2Html::test_translate_comment_with_translation_in_po PASSED [ 12%] 853s tests/translate/convert/test_po2html.py::TestPO2Html::test_meta_social_media_tags_translation PASSED [ 12%] 853s tests/translate/convert/test_po2html.py::TestPO2Html::test_meta_non_translatable_tags_preserved PASSED [ 12%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 12%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 12%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 12%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 12%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 12%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 12%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 12%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 12%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities_template_vs_po_mismatch PASSED [ 12%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_utf8_non_ascii_characters PASSED [ 12%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_custom_entities_preserved PASSED [ 12%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_auto_rtl PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_auto_ltr PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_added_when_missing PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_not_changed_without_lang_translation PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_button_translation PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_lang_attribute_only_on_html_tag PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_data_translate_ignore_preserved PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_translate_comment_directives_preserved PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_data_translate_ignore_with_translation_in_po PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_translate_comment_with_translation_in_po PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_meta_social_media_tags_translation PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_meta_non_translatable_tags_preserved PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 13%] 853s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 13%] 853s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 13%] 853s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 13%] 853s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 13%] 853s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 13%] 853s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 13%] 853s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 13%] 853s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 13%] 853s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 13%] 853s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 13%] 853s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 13%] 853s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 13%] 853s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 13%] 853s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 13%] 853s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 13%] 853s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 853s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 853s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 853s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 853s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 853s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 853s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 853s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 853s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 853s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 853s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 853s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 14%] 853s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 14%] 853s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 853s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 853s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 853s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 853s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 853s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 15%] 853s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 15%] 853s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 15%] 853s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 15%] 853s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 15%] 853s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 15%] 853s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 15%] 853s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 15%] 853s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 15%] 853s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 15%] 853s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 15%] 853s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_table XFAIL [ 15%] 853s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_frontmatter PASSED [ 15%] 853s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_translation_ignore_sections PASSED [ 15%] 853s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 15%] 853s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 15%] 853s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 15%] 853s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 15%] 853s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 15%] 853s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 15%] 853s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 15%] 853s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 15%] 853s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 15%] 853s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 15%] 853s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 15%] 853s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 15%] 853s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 15%] 853s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 15%] 853s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 15%] 853s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 15%] 853s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 15%] 853s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 15%] 853s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 15%] 853s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 15%] 853s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 853s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 853s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_help PASSED [ 16%] 853s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert PASSED [ 16%] 853s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert_with_multiple_units PASSED [ 16%] 853s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 853s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 16%] 854s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 16%] 854s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 16%] 854s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 16%] 854s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 16%] 854s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 16%] 854s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 16%] 854s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 16%] 854s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 16%] 854s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 16%] 854s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 16%] 854s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 16%] 854s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 16%] 854s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 16%] 854s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 16%] 854s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 16%] 854s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 16%] 854s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 16%] 854s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 16%] 854s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 16%] 854s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 16%] 854s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 16%] 854s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 16%] 854s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 16%] 854s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 16%] 854s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 16%] 854s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 16%] 854s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 16%] 854s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 16%] 854s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 16%] 854s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 16%] 854s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 16%] 854s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 16%] 854s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 854s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 17%] 854s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 17%] 854s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 17%] 854s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 17%] 854s tests/translate/convert/test_po2php.py::TestPO2Php::test_return_array_with_comments PASSED [ 17%] 854s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 17%] 854s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 17%] 854s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 17%] 854s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 17%] 854s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 17%] 854s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 17%] 854s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 17%] 854s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 17%] 854s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 17%] 854s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 17%] 854s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 17%] 854s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 17%] 855s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 17%] 855s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 17%] 855s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 17%] 855s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 17%] 855s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 17%] 855s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 17%] 855s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 17%] 855s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_return_array_with_comments PASSED [ 17%] 855s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 17%] 855s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 17%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 17%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 17%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 17%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 17%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 17%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 17%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_value_no_key PASSED [ 17%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 17%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 17%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 17%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 17%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_utf16_with_empty_lines PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_value_no_key PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 18%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 19%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 19%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 19%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_utf16_with_empty_lines PASSED [ 19%] 855s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 19%] 855s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 19%] 856s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 19%] 856s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 19%] 857s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 19%] 857s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 19%] 857s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 19%] 857s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 19%] 857s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 19%] 857s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 19%] 858s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 19%] 858s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 19%] 858s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 19%] 858s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 19%] 858s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes_strintable PASSED [ 19%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 19%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 19%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 19%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 19%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 19%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 19%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 19%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 19%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 19%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 19%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 19%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 19%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 19%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 19%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 19%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 19%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 19%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 19%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_plus_in_resourcekey PASSED [ 19%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_special_chars_in_resourcekey PASSED [ 19%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 20%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 20%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 20%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 20%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 20%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 20%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 20%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 20%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 20%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 20%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 20%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 20%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 20%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 20%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 20%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 20%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_plus_in_resourcekey PASSED [ 20%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_special_chars_in_resourcekey PASSED [ 20%] 858s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 20%] 858s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 20%] 858s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 20%] 858s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 20%] 858s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 20%] 858s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 20%] 858s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 20%] 858s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 20%] 858s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 20%] 858s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 20%] 858s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 20%] 858s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 20%] 858s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 20%] 858s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 20%] 858s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 20%] 858s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 20%] 858s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 20%] 858s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 20%] 858s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 20%] 858s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 21%] 858s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 21%] 858s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 21%] 858s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 21%] 858s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 21%] 859s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 21%] 859s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 21%] 859s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 21%] 859s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 21%] 859s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 21%] 859s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 21%] 859s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 21%] 859s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 21%] 859s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 21%] 859s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 21%] 859s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 21%] 859s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 21%] 859s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 21%] 859s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 21%] 859s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context PASSED [ 21%] 859s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_simple_convert PASSED [ 21%] 859s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_nested_convert PASSED [ 21%] 859s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_template_required PASSED [ 21%] 859s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_untranslated_uses_source PASSED [ 21%] 859s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 21%] 859s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 21%] 859s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 21%] 859s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 21%] 859s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 21%] 859s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 21%] 859s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 21%] 859s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 21%] 859s tests/translate/convert/test_po2ts.py::TestPO2TS::test_plural PASSED [ 21%] 859s tests/translate/convert/test_po2ts.py::TestPO2TS::test_plural_fuzzy PASSED [ 21%] 859s tests/translate/convert/test_po2ts.py::TestPO2TS::test_unit_without_location PASSED [ 21%] 859s tests/translate/convert/test_po2ts.py::TestPO2TS::test_mixed_units_with_and_without_location PASSED [ 21%] 859s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 21%] 859s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 21%] 859s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 21%] 859s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 22%] 859s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 22%] 859s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 22%] 859s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 22%] 859s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 22%] 859s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_plural PASSED [ 22%] 859s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_plural_fuzzy PASSED [ 22%] 859s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_unit_without_location PASSED [ 22%] 859s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_mixed_units_with_and_without_location PASSED [ 22%] 859s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_substring_replacement PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_duplicate_text_segment_based_replacement PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_dokuwiki_flavour_segmentation PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_substring_replacement PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_duplicate_text_segment_based_replacement PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_dokuwiki_flavour_segmentation PASSED [ 22%] 859s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 22%] 859s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 22%] 859s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 22%] 859s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 22%] 859s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 22%] 859s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 22%] 859s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 22%] 859s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 23%] 859s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 23%] 859s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 23%] 859s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 23%] 859s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 23%] 859s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 23%] 859s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 23%] 859s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 23%] 859s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 23%] 859s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 23%] 859s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 23%] 859s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 23%] 859s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 23%] 859s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 23%] 859s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 23%] 859s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 23%] 859s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 23%] 859s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 23%] 859s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 23%] 859s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 23%] 859s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 23%] 859s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 23%] 859s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 23%] 859s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 23%] 859s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 23%] 859s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 23%] 859s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 23%] 859s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 23%] 859s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 23%] 859s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 23%] 859s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 23%] 859s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 23%] 859s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 23%] 859s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 23%] 859s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 23%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 23%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 23%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 23%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 23%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overrides_old PASSED [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurrect_obsolete_messages PASSED [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurrect_obsolete_messages_into_msgidcomment PASSED [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 24%] 859s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 24%] 860s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 24%] 860s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 24%] 860s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 24%] 860s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 24%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 24%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 24%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 24%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 24%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 24%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 24%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 24%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 24%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 24%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overrides_old PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurrect_obsolete_messages PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurrect_obsolete_messages_into_msgidcomment PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 25%] 860s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 25%] 860s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 25%] 860s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 25%] 860s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 25%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 25%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 25%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 25%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 25%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_value_no_key_entry PASSED [ 25%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 25%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 25%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 25%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 25%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 25%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_locations_mozilla PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_strings_bilingual_simple PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2PO::test_strings_bilingual_multiline PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_value_no_key_entry PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_locations_mozilla PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 26%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 27%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_strings_bilingual_simple PASSED [ 27%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_strings_bilingual_multiline PASSED [ 27%] 860s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 27%] 860s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 27%] 860s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 27%] 861s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 27%] 861s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 27%] 861s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 27%] 861s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 27%] 861s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 27%] 861s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 27%] 861s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 27%] 861s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 27%] 861s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 27%] 861s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 27%] 861s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 27%] 861s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 27%] 861s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 27%] 861s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 27%] 861s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 27%] 861s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 27%] 861s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 27%] 861s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 27%] 861s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 27%] 861s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 27%] 861s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 27%] 861s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 27%] 861s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 27%] 861s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 27%] 861s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 27%] 861s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_simple_convert PASSED [ 27%] 861s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_nested_convert PASSED [ 27%] 861s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_comment_extraction PASSED [ 27%] 861s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_merge_with_template PASSED [ 27%] 861s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 27%] 861s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 27%] 861s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 27%] 861s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 27%] 861s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 28%] 861s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 28%] 861s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 28%] 861s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 28%] 861s tests/translate/convert/test_ts2po.py::TestTS2PO::test_plural PASSED [ 28%] 861s tests/translate/convert/test_ts2po.py::TestTS2PO::test_plural_unfinished PASSED [ 28%] 861s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 28%] 861s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 28%] 862s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 28%] 862s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 28%] 862s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 28%] 862s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 28%] 862s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 28%] 862s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 28%] 862s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_plural PASSED [ 28%] 862s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_plural_unfinished PASSED [ 28%] 862s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 28%] 862s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 29%] 862s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 29%] 862s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 29%] 862s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 29%] 862s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 29%] 862s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 29%] 862s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 29%] 862s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 29%] 862s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 29%] 862s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 29%] 862s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 29%] 862s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 29%] 862s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 30%] 862s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 30%] 862s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 30%] 862s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_comment_extraction PASSED [ 30%] 862s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_comment_extraction_nested PASSED [ 30%] 862s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 30%] 862s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 30%] 862s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 30%] 862s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 30%] 862s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 30%] 863s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 30%] 863s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_comment_extraction PASSED [ 30%] 863s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_comment_extraction_nested PASSED [ 30%] 863s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 30%] 863s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 30%] 863s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 30%] 863s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 30%] 863s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 30%] 863s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 30%] 863s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 30%] 863s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 30%] 863s tests/translate/filters/test_checks.py::test_defaults PASSED [ 30%] 863s tests/translate/filters/test_checks.py::test_construct PASSED [ 30%] 863s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 30%] 863s tests/translate/filters/test_checks.py::test_messages PASSED [ 30%] 863s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 30%] 863s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 30%] 863s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 30%] 863s tests/translate/filters/test_checks.py::test_blank PASSED [ 30%] 863s tests/translate/filters/test_checks.py::test_brackets PASSED [ 30%] 863s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 30%] 863s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 30%] 863s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 30%] 863s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 30%] 863s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 30%] 863s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 30%] 863s tests/translate/filters/test_checks.py::test_escapes PASSED [ 30%] 863s tests/translate/filters/test_checks.py::test_newlines PASSED [ 30%] 863s tests/translate/filters/test_checks.py::test_tabs PASSED [ 30%] 863s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_long PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 31%] 863s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_numbers PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_options PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_printf PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_short PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 31%] 863s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 31%] 863s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_validchars PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 31%] 863s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 31%] 863s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 32%] 863s tests/translate/filters/test_checks.py::test_functions PASSED [ 32%] 863s tests/translate/filters/test_checks.py::test_emails PASSED [ 32%] 863s tests/translate/filters/test_checks.py::test_urls PASSED [ 32%] 863s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 32%] 863s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 32%] 863s tests/translate/filters/test_checks.py::test_credits PASSED [ 32%] 863s tests/translate/filters/test_checks.py::test_gconf PASSED [ 32%] 863s tests/translate/filters/test_checks.py::test_validxml PASSED [ 32%] 863s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 32%] 863s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 32%] 863s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 32%] 863s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 32%] 863s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 32%] 863s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 32%] 863s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 32%] 863s tests/translate/filters/test_checks.py::test_category PASSED [ 32%] 863s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 32%] 863s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 32%] 863s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 32%] 863s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 32%] 863s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 32%] 863s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 32%] 863s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 32%] 863s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 32%] 863s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 32%] 863s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existent_check PASSED [ 32%] 863s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 32%] 863s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 32%] 863s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 32%] 863s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 32%] 863s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 32%] 863s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 32%] 863s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 32%] 863s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 32%] 863s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 32%] 863s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 32%] 863s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 32%] 863s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 32%] 863s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existent_check PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existent_check PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existent_check PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 33%] 863s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 34%] 863s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 34%] 863s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 34%] 863s tests/translate/lang/test_af.py::test_sentences PASSED [ 34%] 863s tests/translate/lang/test_af.py::test_capsstart PASSED [ 34%] 863s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 34%] 863s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 34%] 863s tests/translate/lang/test_am.py::test_sentences PASSED [ 34%] 863s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 34%] 863s tests/translate/lang/test_ar.py::test_sentences PASSED [ 34%] 863s tests/translate/lang/test_common.py::test_characters PASSED [ 34%] 863s tests/translate/lang/test_common.py::test_words PASSED [ 34%] 863s tests/translate/lang/test_common.py::test_word_khmer PASSED [ 34%] 863s tests/translate/lang/test_common.py::test_sentences PASSED [ 34%] 863s tests/translate/lang/test_common.py::test_capsstart PASSED [ 34%] 863s tests/translate/lang/test_common.py::test_numstart PASSED [ 34%] 863s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 34%] 863s tests/translate/lang/test_common.py::test_length_difference PASSED [ 34%] 863s tests/translate/lang/test_common.py::test_alter_length PASSED [ 34%] 863s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 34%] 863s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 34%] 863s tests/translate/lang/test_data.py::test_is_rtl PASSED [ 34%] 863s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 34%] 863s tests/translate/lang/test_el.py::test_sentences PASSED [ 34%] 863s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 34%] 863s tests/translate/lang/test_es.py::test_sentences PASSED [ 34%] 863s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 34%] 863s tests/translate/lang/test_fa.py::test_sentences PASSED [ 34%] 864s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 34%] 864s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 34%] 864s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 34%] 864s tests/translate/lang/test_fr.py::test_sentences PASSED [ 34%] 864s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 34%] 864s tests/translate/lang/test_hy.py::test_sentences PASSED [ 34%] 864s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 34%] 864s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 34%] 864s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 34%] 864s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 34%] 864s tests/translate/lang/test_ja.py::test_sentences PASSED [ 34%] 864s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 35%] 864s tests/translate/lang/test_km.py::test_sentences PASSED [ 35%] 864s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 35%] 864s tests/translate/lang/test_ko.py::test_sentences PASSED [ 35%] 864s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 35%] 864s tests/translate/lang/test_ne.py::test_sentences PASSED [ 35%] 864s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 35%] 864s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 35%] 864s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 35%] 864s tests/translate/lang/test_or.py::test_country_code PASSED [ 35%] 864s tests/translate/lang/test_or.py::test_sentences PASSED [ 35%] 864s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 35%] 864s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 35%] 864s tests/translate/lang/test_ro.py::test_niciun PASSED [ 35%] 864s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 35%] 864s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 35%] 864s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 35%] 864s tests/translate/lang/test_team.py::test_simple PASSED [ 35%] 864s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 35%] 864s tests/translate/lang/test_th.py::test_sentences PASSED [ 35%] 864s tests/translate/lang/test_tr.py::test_sentences PASSED [ 35%] 864s tests/translate/lang/test_uk.py::test_sentences PASSED [ 35%] 864s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 35%] 864s tests/translate/lang/test_vi.py::test_sentences PASSED [ 35%] 864s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 35%] 864s tests/translate/lang/test_zh.py::test_sentences PASSED [ 35%] 864s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 35%] 864s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 35%] 864s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 35%] 864s tests/translate/misc/test_dictutils.py::test_cidict_pop PASSED [ 35%] 864s tests/translate/misc/test_dictutils.py::test_cidict_getitem PASSED [ 35%] 864s tests/translate/misc/test_dictutils.py::test_cidict_setitem PASSED [ 35%] 864s tests/translate/misc/test_dictutils.py::test_cidict_delitem PASSED [ 35%] 864s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 35%] 864s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 35%] 864s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 35%] 864s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 35%] 864s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 35%] 864s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 35%] 864s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 36%] 864s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 36%] 864s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 36%] 864s tests/translate/misc/test_multistring.py::TestMultistring::test_bool PASSED [ 36%] 864s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 36%] 864s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 36%] 864s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 36%] 864s tests/translate/misc/test_quote.py::test_find_all PASSED [ 36%] 864s tests/translate/misc/test_quote.py::test_extract PASSED [ 36%] 864s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 36%] 864s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 36%] 864s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 36%] 864s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 36%] 864s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_iso_8859_1 PASSED [ 36%] 864s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_ascii PASSED [ 36%] 864s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_unicode_range PASSED [ 36%] 864s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 36%] 864s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 36%] 864s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 36%] 864s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 36%] 864s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 36%] 864s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 36%] 864s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 36%] 864s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 36%] 864s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 36%] 864s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 36%] 864s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 36%] 864s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 36%] 864s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 36%] 864s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 36%] 864s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 36%] 864s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 36%] 864s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 36%] 864s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 36%] 864s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 36%] 864s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 36%] 864s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 36%] 864s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 36%] 864s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 36%] 864s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 37%] 864s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 37%] 864s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 37%] 865s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 37%] 865s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 37%] 865s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 37%] 865s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 37%] 865s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 37%] 865s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 37%] 865s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 37%] 865s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 37%] 865s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 37%] 865s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 37%] 865s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 37%] 865s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 37%] 865s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 37%] 865s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 38%] 865s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 38%] 865s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 38%] 865s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 38%] 865s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 38%] 865s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 38%] 865s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 38%] 865s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 38%] 865s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 38%] 865s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 38%] 865s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 38%] 865s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_line_number_default PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 38%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 39%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_xml PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 40%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse_decimal_plurals PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_to_plurals PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_empty_missing_plural_tag PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_line_number_default PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escape_quote PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 41%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_isfuzzy PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_create PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_eq PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_escapes PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_difficult_escapes PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_note_sanity PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_line_number_default PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_target PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_rich_get PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_rich_set PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_escape_quote PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_create_blank PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_add PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_remove PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_find PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_parse PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_files PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_save PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_extensions PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_mimetypes PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_translate PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_markup PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_nonascii PASSED [ 42%] 865s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_quote_escape PASSED [ 42%] 865s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 42%] 865s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 42%] 865s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 42%] 865s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 42%] 865s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 42%] 865s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 865s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 865s tests/translate/storage/test_base.py::TestTranslationUnit::test_line_number_default PASSED [ 43%] 865s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 43%] 865s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 43%] 865s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 43%] 865s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 43%] 865s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 43%] 865s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 43%] 865s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 43%] 865s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 43%] 865s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 43%] 865s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 43%] 865s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 43%] 865s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 43%] 865s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 43%] 865s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 43%] 865s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_create_empty_bundle PASSED [ 43%] 865s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_create_bundle_from_nonexistent_file PASSED [ 43%] 865s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle PASSED [ 43%] 865s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save PASSED [ 43%] 865s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip PASSED [ 43%] 865s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle PASSED [ 43%] 865s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_update_file_in_bundle PASSED [ 43%] 865s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle PASSED [ 43%] 865s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_invalid_bundle_error PASSED [ 43%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 43%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 43%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 43%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 43%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 43%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_line_number_default PASSED [ 43%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 43%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 43%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 43%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 43%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 43%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 43%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 43%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 44%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 44%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 44%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 44%] 865s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_line_number_default PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 44%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 45%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 45%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 45%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 45%] 865s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 45%] 866s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding_save PASSED [ 45%] 866s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_id_target PASSED [ 45%] 866s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_context_target PASSED [ 45%] 866s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_key_translation PASSED [ 45%] 866s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_roundtrip PASSED [ 45%] 866s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_context_roundtrip PASSED [ 45%] 866s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_id_context_roundtrip PASSED [ 45%] 866s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_target_only_roundtrip PASSED [ 45%] 866s tests/translate/storage/test_csvl10n.py::TestCSV::test_quote_nonnumeric_handling PASSED [ 45%] 866s tests/translate/storage/test_csvl10n.py::TestCSV::test_quote_nonnumeric_with_single_quotes PASSED [ 45%] 866s tests/translate/storage/test_csvl10n.py::TestCSV::test_line_number PASSED [ 45%] 866s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 45%] 866s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 45%] 866s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 45%] 866s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 45%] 866s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 45%] 866s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 45%] 866s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 45%] 866s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 45%] 866s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 45%] 866s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 45%] 866s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 45%] 866s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 45%] 866s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 45%] 866s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 45%] 866s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 45%] 866s tests/translate/storage/test_dtd.py::TestDTDUnit::test_line_number_default PASSED [ 45%] 866s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 45%] 866s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 45%] 866s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 45%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 45%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 45%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_multiple_blank_lines PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_entity_with_extra_spaces PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestDTD::test_mixed_content_preservation PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 46%] 866s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 866s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 866s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 47%] 866s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 47%] 866s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 47%] 866s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 47%] 866s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 47%] 866s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 47%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 47%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 47%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 47%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 47%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_line_number_default PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 48%] 866s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 48%] 866s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 48%] 866s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 48%] 866s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 48%] 866s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 48%] 866s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 48%] 866s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 48%] 866s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 48%] 866s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 48%] 866s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 48%] 866s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 48%] 866s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 48%] 866s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_button PASSED [ 48%] 866s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_lang_attribute PASSED [ 48%] 866s tests/translate/storage/test_html.py::TestHTMLExtraction::test_dir_attribute_not_extracted PASSED [ 49%] 866s tests/translate/storage/test_html.py::TestHTMLExtraction::test_data_translate_ignore_attribute PASSED [ 49%] 866s tests/translate/storage/test_html.py::TestHTMLExtraction::test_translate_comment_directives PASSED [ 49%] 866s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_social_media_tags PASSED [ 49%] 866s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_non_translatable_tags PASSED [ 49%] 866s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_mixed_translatable_and_non_translatable PASSED [ 49%] 866s tests/translate/storage/test_html.py::TestHTMLExtraction::test_data_translate_comment_attribute PASSED [ 49%] 866s tests/translate/storage/test_html_context.py::test_html_context_basic PASSED [ 49%] 866s tests/translate/storage/test_html_context.py::test_html_context_attribute PASSED [ 49%] 866s tests/translate/storage/test_html_context.py::test_html_context_attribute_with_id PASSED [ 49%] 866s tests/translate/storage/test_html_context.py::test_html_context_same_source_different_contexts PASSED [ 49%] 866s tests/translate/storage/test_html_context.py::test_html_context_nested_outer_wins PASSED [ 49%] 866s tests/translate/storage/test_html_context.py::test_html_context_absent PASSED [ 49%] 866s tests/translate/storage/test_html_context.py::test_html_context_id_overridden_by_explicit PASSED [ 49%] 866s tests/translate/storage/test_html_context.py::test_html_context_id_not_used_when_no_duplicates PASSED [ 49%] 866s tests/translate/storage/test_html_context.py::test_html_context_id_not_used_when_data_translate_context_identical PASSED [ 49%] 866s tests/translate/storage/test_html_context.py::test_html_context_disambiguates_duplicates_with_id PASSED [ 49%] 866s tests/translate/storage/test_html_context.py::test_html_context_disambiguates_duplicates_with_ancestor_id PASSED [ 49%] 866s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 49%] 866s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 49%] 866s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 49%] 866s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 49%] 866s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 49%] 866s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 49%] 866s tests/translate/storage/test_ini.py::TestINIUnit::test_line_number_default PASSED [ 49%] 866s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 49%] 866s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 49%] 866s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 49%] 866s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 49%] 866s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 49%] 866s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 49%] 866s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 49%] 866s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 49%] 866s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 49%] 866s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 49%] 866s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 49%] 866s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 49%] 866s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 49%] 866s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 49%] 866s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 866s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 866s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_line_number_default PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 50%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_line_number_default PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_line_number_default PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 51%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_comments PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 52%] 866s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 53%] 866s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 54%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_invalid_nesting PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_empty_metadata_not_stored PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_invalid PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_isfuzzy PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_create PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_eq PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_escapes PASSED [ 55%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_difficult_escapes PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_note_sanity PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_line_number_default PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_target PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_rich_get PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_rich_set PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_source_property_maps_to_id PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_source_roundtrip PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_create_blank PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_remove PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_find PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_files PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_save PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_extensions PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_mimetypes PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_translate PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_markup PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_nonascii PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse_simple PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_serialize_simple PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse_with_plurals PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_preserve_plural_form PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_roundtrip_with_plurals PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_ignore_non_translations_keys PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_preserve_other_metadata PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add_unit PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add_plural_unit PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_empty_translations PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_create_blank PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_add PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_remove PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_find PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_parse PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_files PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_save PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_extensions PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_mimetypes PASSED [ 56%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_translate PASSED [ 57%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_markup PASSED [ 57%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_nonascii PASSED [ 57%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_roundtrip PASSED [ 57%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_basic_parsing PASSED [ 57%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_multiple_metadata PASSED [ 57%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_no_metadata PASSED [ 57%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_edit_target PASSED [ 57%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_edit_notes PASSED [ 57%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_keys_with_dots PASSED [ 57%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_leading_dot_keys PASSED [ 57%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_invalid_nesting PASSED [ 57%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_property_get_set PASSED [ 57%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_property_persists PASSED [ 57%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_getcontext_returns_id PASSED [ 57%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_parsing_preserves_order PASSED [ 57%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_metadata_without_translation PASSED [ 57%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_complex_keys_with_multiple_dots PASSED [ 57%] 866s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_empty_string PASSED [ 57%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_basic PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_with_markup PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_with_code_block PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_multiple_ignore_sections PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_at_start PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_at_end PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_nested_structures_in_ignore PASSED [ 58%] 866s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_link_references_in_ignore PASSED [ 58%] 866s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 866s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 866s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 866s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 866s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 866s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 866s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 866s tests/translate/storage/test_mo.py::TestMOUnit::test_line_number_default PASSED [ 58%] 866s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 866s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 866s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 866s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 866s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 866s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 866s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 59%] 866s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 59%] 866s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 59%] 866s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 59%] 866s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 59%] 866s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 59%] 866s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 59%] 866s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 59%] 866s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 866s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 866s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 866s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 59%] 866s tests/translate/storage/test_mo.py::TestMOFile::test_endian_version_parsing PASSED [ 59%] 866s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 866s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 866s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 866s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 866s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 866s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 866s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_line_number_default PASSED [ 59%] 866s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 866s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 866s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 866s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 866s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 866s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 866s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 866s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 866s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 866s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 866s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 866s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 866s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 866s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 866s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 866s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 866s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 866s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 866s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 866s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[\u015e\u0167\u0159\u012b\u019e\u0260 {ok}-\u015e\u0167\u0159\u012b\u019e\u0260] PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_line_number_default PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 866s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 867s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 867s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 867s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 867s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 867s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 867s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 867s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 867s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 867s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 867s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 867s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 867s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 867s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 867s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 867s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 867s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_line_number PASSED [ 61%] 867s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_isfuzzy PASSED [ 61%] 867s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_create PASSED [ 61%] 867s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_eq PASSED [ 61%] 867s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_target PASSED [ 61%] 867s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_escapes PASSED [ 61%] 867s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_difficult_escapes PASSED [ 61%] 867s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_note_sanity PASSED [ 61%] 867s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_line_number_default PASSED [ 61%] 867s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_rich_get PASSED [ 61%] 867s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_rich_set PASSED [ 61%] 867s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_create_blank PASSED [ 61%] 867s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_add PASSED [ 61%] 867s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_remove PASSED [ 61%] 867s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_find PASSED [ 61%] 867s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_translate PASSED [ 61%] 867s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_parse PASSED [ 61%] 867s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_files PASSED [ 61%] 867s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_save PASSED [ 61%] 867s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_markup PASSED [ 61%] 867s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_nonascii PASSED [ 61%] 867s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_mimetypes PASSED [ 61%] 867s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_extensions XFAIL [ 61%] 867s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 867s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 867s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 867s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 867s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 867s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 867s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 867s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 867s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 867s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpUnit::test_line_number_default PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 62%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 867s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 63%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_with_spaces PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_with_comments PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_line_number_default PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping_array_syntax PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping_numeric_keys PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_roundtrip_short_array PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_roundtrip_array_syntax PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_preserves_structure PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_with_array_syntax PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_addunit_with_setid PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_unit_to_short_array_file PASSED [ 64%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_unit_to_array_function_file PASSED [ 65%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_multiple_units_to_short_array PASSED [ 65%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_multiple_units_to_array_function PASSED [ 65%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_numeric_keys_no_quotes PASSED [ 65%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_empty_string_key PASSED [ 65%] 868s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_with_non_string_value PASSED [ 65%] 868s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOUnit::test_line_number_default PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 868s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 868s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 868s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 868s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 868s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 868s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 868s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 868s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 868s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 868s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 868s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_invalid_keyword PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 66%] 869s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_spaces PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_fit PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_overflow PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_multiline PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_escapes PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_wrap_escape_line PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_wrap_wide_stop PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_wrap_escape PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_c_style_comment_error_reporting PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_unusual_line_endings PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_charset_with_space PASSED [ 67%] 869s tests/translate/storage/test_po.py::TestPOFile::test_duplicate_msgid_error PASSED [ 67%] 869s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 869s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 869s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 869s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 869s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 869s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 869s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 869s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 869s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 869s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 869s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 869s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 869s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 869s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 869s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 869s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 869s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 869s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 869s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 869s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_line_number_default PASSED [ 68%] 869s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 869s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 869s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 869s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 869s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 869s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 869s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 68%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_marktranslatable PASSED [ 69%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_groups_when_adding_units PASSED [ 69%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_multiple_files_and_groups PASSED [ 69%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_unit_to_existing_group PASSED [ 69%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_unit_to_different_file PASSED [ 69%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mixed_groups_and_body PASSED [ 69%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addunit_with_new_false PASSED [ 69%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace_preservation_across_versions PASSED [ 69%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_units_between_different_files PASSED [ 69%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_group_preservation_across_different_namespaces PASSED [ 69%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_cross_namespace_group_and_file_preservation PASSED [ 69%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 870s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 872s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 872s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 872s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 872s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 872s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 872s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 872s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 872s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 872s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 872s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 872s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 872s tests/translate/storage/test_properties.py::test_find_delimiter_pos_empty_and_whitespace PASSED [ 69%] 872s tests/translate/storage/test_properties.py::test_find_delimiter_pos_tabs PASSED [ 69%] 872s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 872s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 872s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 872s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 872s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 872s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 872s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestPropUnit::test_line_number_default PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 872s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_tab_delimiter_parsing PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comments PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comments_nested PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comment_with_spaces PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_before_entry PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_between_key_and_equals PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_between_equals_and_value PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_after_value_before_semicolon PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multiple_inline_comments PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_nested_comment PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_inside_value PASSED [ 71%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_trailing_whitespace_after_semicolon PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestProp::test_utf16_bom_no_warning PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 872s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 872s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 872s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 872s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 872s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_line_number_default PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_with_blank_lines PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 74%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid_keyword PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 75%] 872s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 75%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 75%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 75%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 75%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 75%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_spaces PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_fit PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_overflow PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_multiline PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_escapes PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_escape_line PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_wide_stop PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_escape PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_c_style_comment_error_reporting PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unusual_line_endings PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_charset_with_space PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_duplicate_msgid_error PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_future_flags PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 873s tests/translate/storage/test_pypo.py::TestPYPOFile::test_line_number PASSED [ 77%] 873s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 873s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 873s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 873s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 873s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 873s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 873s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 873s tests/translate/storage/test_qm.py::TestQtUnit::test_line_number_default PASSED [ 77%] 873s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 873s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 873s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 873s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 873s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 873s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 873s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 873s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 873s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 873s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 873s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 873s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 873s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 873s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 873s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 77%] 874s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 77%] 874s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphUnit::test_line_number_default PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 874s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 874s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 78%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 78%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 78%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 78%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 78%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 78%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 78%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_utf16_pragma_code_page PASSED [ 79%] 874s tests/translate/storage/test_rc.py::TestRcFile::test_utf8_pragma_code_page PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_line_number_default PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 79%] 874s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 79%] 874s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 79%] 874s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 79%] 874s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 79%] 874s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 79%] 874s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 79%] 874s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 79%] 874s tests/translate/storage/test_resx.py::TestRESXUnit::test_line_number_default PASSED [ 79%] 874s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_line_number_default PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 80%] 874s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 80%] 874s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 80%] 874s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 80%] 874s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 80%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 80%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 80%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 80%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_line_number_default PASSED [ 80%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 80%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 80%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 80%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 80%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 80%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 875s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 875s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 81%] 875s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 81%] 875s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 81%] 875s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 81%] 875s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 81%] 875s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 81%] 875s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 81%] 875s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 81%] 875s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 81%] 875s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 81%] 875s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 81%] 875s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 81%] 875s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_ordering PASSED [ 81%] 875s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create_blank PASSED [ 81%] 875s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_add PASSED [ 81%] 875s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_remove PASSED [ 81%] 875s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_find PASSED [ 81%] 875s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_parse PASSED [ 81%] 875s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_files PASSED [ 81%] 875s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_save PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_extensions PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_mimetypes PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_translate PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_markup PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_nonascii PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_ordering PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 875s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_ordering PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_ordering PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_style_preservation PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 82%] 875s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 875s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 875s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 875s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 875s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 875s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 875s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 875s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 875s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_ordering PASSED [ 83%] 875s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_style_preservation PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXUnit::test_line_number_default PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 83%] 875s tests/translate/storage/test_tbx.py::TestTBXfile::test_administrative_status_and_translation_needed PASSED [ 84%] 875s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 875s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 875s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 875s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 875s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 875s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXUnit::test_line_number_default PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_line_number_default PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_context PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 84%] 875s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 875s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 875s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 875s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 875s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 875s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 875s tests/translate/storage/test_tmx.py::TestTMXfile::test_context PASSED [ 85%] 875s tests/translate/storage/test_tmx.py::TestTMXfile::test_note_order PASSED [ 85%] 875s tests/translate/storage/test_tmx.py::TestTMXfile::test_prop_and_note_order PASSED [ 85%] 875s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_isfuzzy PASSED [ 85%] 875s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_create PASSED [ 85%] 875s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_eq PASSED [ 85%] 875s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_escapes PASSED [ 85%] 875s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_difficult_escapes PASSED [ 85%] 875s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_note_sanity PASSED [ 85%] 875s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_line_number_default PASSED [ 85%] 875s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_target PASSED [ 85%] 875s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_rich_get PASSED [ 85%] 875s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_rich_set PASSED [ 85%] 875s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_getlocations PASSED [ 85%] 875s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_create_blank PASSED [ 85%] 875s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_add PASSED [ 85%] 875s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_find PASSED [ 85%] 875s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_parse PASSED [ 85%] 875s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_files PASSED [ 85%] 875s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_save PASSED [ 85%] 875s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_extensions PASSED [ 85%] 875s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_mimetypes PASSED [ 85%] 875s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_translate PASSED [ 85%] 875s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_markup PASSED [ 85%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_nonascii PASSED [ 85%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_serialize PASSED [ 85%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_empty PASSED [ 85%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_edit PASSED [ 85%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_edit_unicode PASSED [ 85%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_parse_unicode_list PASSED [ 85%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_ordering PASSED [ 85%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_nested PASSED [ 85%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline PASSED [ 85%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_boolean PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_integer PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_no_quote_strings PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_double_quote_strings PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_single_quote_strings PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_escaped_double_quotes PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_newlines PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_list PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_inline_table PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_key_nesting PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_add_to_empty PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_dict_in_list PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_remove PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_special PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_extraction_simple PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_extraction_multiline PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_no_comment_backwards_compat PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_simple PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_multiline PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_nested PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_with_modification PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_literal_string PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline_basic_string PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline_literal_string PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_create_blank PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_add PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_remove PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_find PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_parse PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_files PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_save PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_extensions PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_mimetypes PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_translate PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_markup PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_nonascii PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_simple_plural PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_plural_with_other_keys PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_full_plural_forms PASSED [ 86%] 876s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_roundtrip_plural PASSED [ 87%] 876s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_mixed_content PASSED [ 87%] 876s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_letsencrypt_style PASSED [ 87%] 876s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_comment_preservation_goi18n PASSED [ 87%] 876s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_comment_preservation_goi18n_plural PASSED [ 87%] 876s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 876s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 876s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSUnit::test_line_number_default PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 87%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 876s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtUnit::test_line_number_default PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 88%] 876s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 88%] 876s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 88%] 876s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 88%] 876s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 88%] 876s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 88%] 876s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 88%] 876s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 88%] 876s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 876s tests/translate/storage/test_utx.py::TestUtxUnit::test_line_number_default PASSED [ 89%] 876s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 876s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 876s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 876s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 876s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 876s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 876s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 876s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 876s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 876s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 876s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 876s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 876s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 876s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFUnit::test_line_number_default PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 876s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 876s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 876s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 876s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_line_number_default PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_marktranslatable PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_groups_when_adding_units PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_multiple_files_and_groups PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_unit_to_existing_group PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_unit_to_different_file PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mixed_groups_and_body PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addunit_with_new_false PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace_preservation_across_versions PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_units_between_different_files PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_group_preservation_across_different_namespaces PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_cross_namespace_group_and_file_preservation PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 91%] 876s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 91%] 880s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 91%] 880s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 91%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_isfuzzy PASSED [ 91%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_create PASSED [ 91%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_eq PASSED [ 91%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_target PASSED [ 91%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_escapes PASSED [ 91%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_difficult_escapes PASSED [ 91%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_note_sanity PASSED [ 91%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_line_number_default PASSED [ 91%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_rich_get PASSED [ 91%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_rich_set PASSED [ 91%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_notes PASSED [ 91%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_id_management PASSED [ 91%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_marktranslatable PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_create_blank PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_add PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_remove PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_find PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_translate PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_files PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_save PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_markup PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_nonascii PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_extensions PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_mimetypes PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_basic PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_source_target PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_language_attributes PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_namespace PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_unit_structure PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_multiple_units PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse_xliff2 PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse_translate_attribute PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_multiple_segments_per_unit PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_mixed_single_and_multiple_segments PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_segments_without_ids PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_escaped_inline_tags PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_simple_source_target_pairs PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_malformed_xml_declaration PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_variable_placeholders PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_add_unit PASSED [ 92%] 880s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_states PASSED [ 92%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_line_number_default PASSED [ 92%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 93%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 93%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 93%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 93%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 93%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 93%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 93%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 93%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 93%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 93%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 93%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 93%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 93%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 93%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 93%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 93%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 93%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 93%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 93%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 880s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_simple PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_multiline PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_nested PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_mixed PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_comment_backwards_compat PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline_literal_format PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_blank PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_partial PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_pt_br PASSED [ 94%] 881s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_bug_ruby_remove_zero_few_and_mix_others PASSED [ 94%] 881s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 881s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 881s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 881s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 95%] 881s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 95%] 881s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 95%] 881s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 95%] 881s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 95%] 881s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 95%] 881s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 95%] 882s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 95%] 882s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 95%] 882s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 95%] 882s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 95%] 883s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 95%] 884s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 95%] 884s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 95%] 884s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 95%] 884s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 884s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 884s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 884s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 885s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 885s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 885s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 885s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 885s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 885s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 885s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 885s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 885s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 885s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 885s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 885s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 885s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 885s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 885s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 885s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 885s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 885s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 885s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 885s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 885s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 96%] 885s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 96%] 885s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 96%] 885s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 96%] 885s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 96%] 885s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 96%] 885s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 96%] 885s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 96%] 885s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 885s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 885s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 885s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 885s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 885s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 885s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 886s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 886s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 886s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 886s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 886s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 886s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 886s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 886s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 886s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 886s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 886s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 886s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 886s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 886s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 886s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 886s tests/translate/tools/test_pocount.py::test_csv_line_terminator PASSED [ 96%] 886s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_fuzzy_with_target PASSED [ 96%] 886s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_fuzzy_without_target PASSED [ 96%] 886s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_translated_not_fuzzy PASSED [ 96%] 886s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_untranslated_empty_target PASSED [ 96%] 886s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_categorization_mutually_exclusive PASSED [ 96%] 886s tests/translate/tools/test_pocount.py::TestPOCountLineEndings::test_unusual_line_endings PASSED [ 96%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank_clears_fuzzy PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank_with_plurals PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 886s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 886s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 886s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 886s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 886s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 886s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 886s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 886s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 886s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 886s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 886s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 886s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 886s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 886s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 886s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 886s tests/translate/tools/test_posegment.py::TestPOSegment::test_transifex_po PASSED [ 98%] 886s tests/translate/tools/test_posegment.py::TestXLIFFSegment::test_xliff_en_simple PASSED [ 98%] 886s tests/translate/tools/test_posegment.py::TestXLIFFSegment::test_xliff_untranslated PASSED [ 98%] 886s tests/translate/tools/test_posegment.py::TestTMXSegment::test_tmx_en_simple PASSED [ 98%] 887s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 887s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_unitinfo_stores_minimal_data PASSED [ 98%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overrides_old PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurrect_obsolete_messages PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overrides_old PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurrect_obsolete_messages PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 887s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 887s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 887s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 887s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 887s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 887s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 887s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 888s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 888s 888s =============================== warnings summary =============================== 888s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 888s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AFZJC1/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 888s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 888s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 888s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 888s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 888s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 888s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 888s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 888s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 888s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 888s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 888s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 888s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 888s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 888s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 888s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 888s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 888s Warning: Could not find accesskey for key.accesskey 888s 888s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 888s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 888s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 888s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 888s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 888s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AFZJC1/autopkgtest_tmp/tests/translate/convert/test.idml'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 888s Warning: unclosed file <_io.BufferedReader name='translation.po'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert 888s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert_with_multiple_units 888s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 888s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AFZJC1/autopkgtest_tmp/tests/translate/convert/test.odt'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple 888s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple 888s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 888s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 888s Warning: Could not find accesskey for prop.accesskey 888s 888s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context 888s Warning: unclosed file <_io.BufferedReader name='test.po'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context 888s Warning: unclosed file <_io.TextIOWrapper name='TestPO2TMXCommand_test_context/test.tmx' mode='r' encoding='UTF-8'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 888s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 888s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 888s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 888s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 888s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 888s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 888s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 888s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 888s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 888s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 888s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 888s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 888s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 888s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 888s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 888s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 888s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 888s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 888s 888s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle 888s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle 888s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp8x2k28u0_test.txt'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save 888s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save 888s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpna6cq8rt_crossdevice.txt'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip 888s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip 888s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp1rjx8ycz_initial.txt'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 888s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 888s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpzqso7020_load_test.txt'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 888s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 888s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpru7vi3r0_load_test.txt'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 888s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 888s Warning: unclosed file <_io.BufferedReader name='/tmp/tmppge4vxmu_file0.txt'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 888s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 888s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp6a0mqq0v_file1.txt'> 888s Enable tracemalloc to get traceback where the object was allocated. 888s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 888s 888s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 888s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 888s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpmothl2x1_file2.txt'> 888s Enable tracemalloc to get traceback where the object was allocated. 889s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 889s 889s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 889s Warning: DTD parse error: :1:35:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 889s :1:35:FATAL:PARSER:ERR_EXT_SUBSET_NOT_FINISHED: Content error in the external subset 889s 889s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 889s Warning: DTD file '' does not validate 889s 889s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 889s --------------------------- snapshot report summary ---------------------------- 889s 23 snapshots passed. 889s =========================== short test summary info ============================ 889s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 889s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 889s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 889s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 889s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 889s XFAIL tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_table - https://github.com/miyuchina/mistletoe/issues/244 889s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 889s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 889s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 889s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 889s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 889s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 889s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 889s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 889s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 889s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 889s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 889s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 889s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 889s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 889s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 889s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 889s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 889s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 889s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 889s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 889s XFAIL tests/translate/storage/test_omegat.py::TestOmegaTFile::test_extensions - This doesn't work, due to two store classes handling different extensions, but factory listing it as one supported file type 889s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 889s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 889s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 889s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 889s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 889s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 889s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 889s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 889s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 889s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 889s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 889s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 889s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 889s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 889s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 889s ===== 3862 passed, 3 skipped, 39 xfailed, 69 warnings in 62.97s (0:01:02) ====== 890s autopkgtest [06:06:38]: test python3-translate-commands: -----------------------] 891s autopkgtest [06:06:39]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 891s python3-translate-commands PASS 892s autopkgtest [06:06:40]: @@@@@@@@@@@@@@@@@@@@ summary 892s translate-toolkit PASS 892s python3-translate PASS 892s python3-translate-commands PASS