0s autopkgtest [06:09:11]: starting date and time: 2026-01-30 06:09:11+0000 0s autopkgtest [06:09:11]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [06:09:11]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.2mmdir31/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-ppc64el --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@sto01-ppc64el-17.secgroup --name adt-resolute-ppc64el-translate-toolkit-20260130-060910-juju-7f2275-prod-proposed-migration-environment-20-64f04fde-c3da-4de1-92d5-8666d8976d7e --image adt/ubuntu-resolute-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-autopkgtest-workers-ppc64el -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 3s Creating nova instance adt-resolute-ppc64el-translate-toolkit-20260130-060910-juju-7f2275-prod-proposed-migration-environment-20-64f04fde-c3da-4de1-92d5-8666d8976d7e from image adt/ubuntu-resolute-ppc64el-server-20260129.img (UUID 011be5ba-3d23-459d-9a9a-537803b22566)... 50s autopkgtest [06:10:01]: testbed dpkg architecture: ppc64el 50s autopkgtest [06:10:01]: testbed apt version: 3.1.14 51s autopkgtest [06:10:02]: @@@@@@@@@@@@@@@@@@@@ test bed setup 51s autopkgtest [06:10:02]: testbed release detected to be: None 52s autopkgtest [06:10:03]: updating testbed package index (apt update) 52s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 52s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 52s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 52s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 52s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [103 kB] 52s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [2820 B] 52s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [33.0 kB] 52s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1600 kB] 52s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el Packages [119 kB] 52s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/universe ppc64el Packages [1131 kB] 52s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse ppc64el Packages [22.2 kB] 53s Fetched 3136 kB in 1s (3836 kB/s) 53s Reading package lists... 54s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 54s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 54s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 54s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 55s Reading package lists... 55s Reading package lists... 55s Building dependency tree... 55s Reading state information... 55s Calculating upgrade... 55s The following packages will be upgraded: 55s bzip2 gcc-15-base inetutils-telnet libatomic1 libbz2-1.0 libgcc-s1 55s libsgutils2-1.48 libsqlite3-0 libstdc++6 sg3-utils sg3-utils-udev telnet 55s 12 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 55s Need to get 3302 kB of archives. 55s After this operation, 3072 B of additional disk space will be used. 55s Get:1 http://ftpmaster.internal/ubuntu resolute/main ppc64el libatomic1 ppc64el 15.2.0-12ubuntu1 [11.0 kB] 55s Get:2 http://ftpmaster.internal/ubuntu resolute/main ppc64el libstdc++6 ppc64el 15.2.0-12ubuntu1 [922 kB] 56s Get:3 http://ftpmaster.internal/ubuntu resolute/main ppc64el gcc-15-base ppc64el 15.2.0-12ubuntu1 [59.6 kB] 56s Get:4 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgcc-s1 ppc64el 15.2.0-12ubuntu1 [40.2 kB] 56s Get:5 http://ftpmaster.internal/ubuntu resolute/main ppc64el bzip2 ppc64el 1.0.8-6build2 [37.6 kB] 56s Get:6 http://ftpmaster.internal/ubuntu resolute/main ppc64el libbz2-1.0 ppc64el 1.0.8-6build2 [47.7 kB] 56s Get:7 http://ftpmaster.internal/ubuntu resolute/main ppc64el libsqlite3-0 ppc64el 3.46.1-9 [825 kB] 56s Get:8 http://ftpmaster.internal/ubuntu resolute/main ppc64el inetutils-telnet ppc64el 2:2.7-2ubuntu1 [125 kB] 56s Get:9 http://ftpmaster.internal/ubuntu resolute/main ppc64el telnet all 0.17+2.7-2ubuntu1 [3636 B] 56s Get:10 http://ftpmaster.internal/ubuntu resolute/main ppc64el libsgutils2-1.48 ppc64el 1.48-3ubuntu2 [143 kB] 56s Get:11 http://ftpmaster.internal/ubuntu resolute/main ppc64el sg3-utils ppc64el 1.48-3ubuntu2 [1080 kB] 56s Get:12 http://ftpmaster.internal/ubuntu resolute/main ppc64el sg3-utils-udev all 1.48-3ubuntu2 [6610 B] 56s dpkg-preconfigure: unable to re-open stdin: No such file or directory 56s Fetched 3302 kB in 0s (9366 kB/s) 56s (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 ... 120856 files and directories currently installed.) 56s Preparing to unpack .../libatomic1_15.2.0-12ubuntu1_ppc64el.deb ... 56s Unpacking libatomic1:ppc64el (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 56s Preparing to unpack .../libstdc++6_15.2.0-12ubuntu1_ppc64el.deb ... 56s Unpacking libstdc++6:ppc64el (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 56s Preparing to unpack .../gcc-15-base_15.2.0-12ubuntu1_ppc64el.deb ... 56s Unpacking gcc-15-base:ppc64el (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 56s Setting up gcc-15-base:ppc64el (15.2.0-12ubuntu1) ... 56s (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 ... 120856 files and directories currently installed.) 56s Preparing to unpack .../libgcc-s1_15.2.0-12ubuntu1_ppc64el.deb ... 56s Unpacking libgcc-s1:ppc64el (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 57s Setting up libgcc-s1:ppc64el (15.2.0-12ubuntu1) ... 57s (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 ... 120856 files and directories currently installed.) 57s Preparing to unpack .../bzip2_1.0.8-6build2_ppc64el.deb ... 57s Unpacking bzip2 (1.0.8-6build2) over (1.0.8-6build1) ... 57s Preparing to unpack .../libbz2-1.0_1.0.8-6build2_ppc64el.deb ... 57s Unpacking libbz2-1.0:ppc64el (1.0.8-6build2) over (1.0.8-6build1) ... 57s Setting up libbz2-1.0:ppc64el (1.0.8-6build2) ... 57s (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 ... 120856 files and directories currently installed.) 57s Preparing to unpack .../0-libsqlite3-0_3.46.1-9_ppc64el.deb ... 57s Unpacking libsqlite3-0:ppc64el (3.46.1-9) over (3.46.1-8) ... 57s Preparing to unpack .../1-inetutils-telnet_2%3a2.7-2ubuntu1_ppc64el.deb ... 57s Unpacking inetutils-telnet (2:2.7-2ubuntu1) over (2:2.6-4ubuntu1) ... 57s Preparing to unpack .../2-telnet_0.17+2.7-2ubuntu1_all.deb ... 57s Unpacking telnet (0.17+2.7-2ubuntu1) over (0.17+2.6-4ubuntu1) ... 57s Preparing to unpack .../3-libsgutils2-1.48_1.48-3ubuntu2_ppc64el.deb ... 57s Unpacking libsgutils2-1.48:ppc64el (1.48-3ubuntu2) over (1.48-3ubuntu1) ... 57s Preparing to unpack .../4-sg3-utils_1.48-3ubuntu2_ppc64el.deb ... 57s Unpacking sg3-utils (1.48-3ubuntu2) over (1.48-3ubuntu1) ... 57s Preparing to unpack .../5-sg3-utils-udev_1.48-3ubuntu2_all.deb ... 57s Unpacking sg3-utils-udev (1.48-3ubuntu2) over (1.48-3ubuntu1) ... 58s Setting up libsqlite3-0:ppc64el (3.46.1-9) ... 58s Setting up inetutils-telnet (2:2.7-2ubuntu1) ... 58s Setting up libsgutils2-1.48:ppc64el (1.48-3ubuntu2) ... 58s Setting up bzip2 (1.0.8-6build2) ... 58s Setting up libatomic1:ppc64el (15.2.0-12ubuntu1) ... 58s Setting up libstdc++6:ppc64el (15.2.0-12ubuntu1) ... 58s Setting up sg3-utils (1.48-3ubuntu2) ... 58s Setting up telnet (0.17+2.7-2ubuntu1) ... 58s Setting up sg3-utils-udev (1.48-3ubuntu2) ... 58s update-initramfs: deferring update (trigger activated) 58s Processing triggers for libc-bin (2.42-2ubuntu4) ... 58s Processing triggers for man-db (2.13.1-1) ... 59s Processing triggers for initramfs-tools (0.150ubuntu7) ... 59s update-initramfs: Generating /boot/initrd.img-6.18.0-9-generic 66s autopkgtest [06:10:17]: upgrading testbed (apt dist-upgrade and autopurge) 66s Reading package lists... 66s Building dependency tree... 66s Reading state information... 66s Calculating upgrade... 66s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 66s Reading package lists... 67s Building dependency tree... 67s Reading state information... 67s Solving dependencies... 67s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 67s autopkgtest [06:10:18]: rebooting testbed after setup commands that affected boot 105s autopkgtest [06:10:56]: testbed running kernel: Linux 6.18.0-9-generic #9-Ubuntu SMP PREEMPT_DYNAMIC Mon Jan 12 16:45:54 UTC 2026 107s autopkgtest [06:10:58]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 109s Get:1 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.18.1-1 (dsc) [3515 B] 109s Get:2 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.18.1-1 (tar) [962 kB] 109s Get:3 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.18.1-1 (diff) [22.7 kB] 109s gpgv: Signature made Sat Jan 24 03:45:51 2026 UTC 109s gpgv: using RSA key 374D8CE4DB96E9CBD4C0972A606D084E4683C079 109s gpgv: Can't check signature: No public key 109s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.18.1-1.dsc: no acceptable signature found 109s autopkgtest [06:11:00]: testing package translate-toolkit version 3.18.1-1 110s autopkgtest [06:11:01]: build not needed 111s autopkgtest [06:11:02]: test translate-toolkit: preparing testbed 111s Reading package lists... 111s Building dependency tree... 111s Reading state information... 111s Solving dependencies... 111s The following NEW packages will be installed: 111s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 111s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 111s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 111s python3-aeidon python3-bs4 python3-charset-normalizer python3-cheroot 111s python3-diff-match-patch python3-enchant python3-iniparse 111s python3-levenshtein python3-lxml python3-mistletoe python3-phply python3-ply 111s python3-pycountry python3-pytz python3-rapidfuzz python3-ruamel.yaml 111s python3-ruamel.yaml.clib python3-soupsieve python3-tomlkit python3-translate 111s python3-unicode-segmentation-rs python3-vobject python3-xapian subversion 111s translate-toolkit 111s 0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded. 111s Need to get 13.8 MB of archives. 111s After this operation, 74.4 MB of additional disk space will be used. 111s Get:1 http://ftpmaster.internal/ubuntu resolute/main ppc64el emacsen-common all 3.0.8 [13.9 kB] 111s Get:2 http://ftpmaster.internal/ubuntu resolute/main ppc64el dictionaries-common all 1.31.3 [179 kB] 111s Get:3 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgomp1 ppc64el 15.2.0-12ubuntu1 [169 kB] 111s Get:4 http://ftpmaster.internal/ubuntu resolute/main ppc64el gettext ppc64el 0.23.2-1 [1177 kB] 112s Get:5 http://ftpmaster.internal/ubuntu resolute/main ppc64el hunspell-en-us all 1:2020.12.07-4build1 [585 kB] 112s Get:6 http://ftpmaster.internal/ubuntu resolute/main ppc64el libapr1t64 ppc64el 1.7.6-3 [141 kB] 112s Get:7 http://ftpmaster.internal/ubuntu resolute/main ppc64el libaprutil1t64 ppc64el 1.6.3-3ubuntu3 [113 kB] 112s Get:8 http://ftpmaster.internal/ubuntu resolute/main ppc64el libaspell15 ppc64el 0.60.8.1-6 [393 kB] 112s Get:9 http://ftpmaster.internal/ubuntu resolute/main ppc64el libhunspell-1.7-0 ppc64el 1.7.2+really1.7.2-11 [327 kB] 112s Get:10 http://ftpmaster.internal/ubuntu resolute/main ppc64el libenchant-2-2 ppc64el 2.8.2+dfsg1-3build1 [67.8 kB] 112s Get:11 http://ftpmaster.internal/ubuntu resolute/main ppc64el libexttextcat-data all 3.4.7-1ubuntu2 [193 kB] 112s Get:12 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libserf-1-1 ppc64el 1.3.10-3ubuntu1 [56.6 kB] 112s Get:13 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libutf8proc3 ppc64el 2.10.0-2 [73.5 kB] 112s Get:14 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libsvn1 ppc64el 1.14.5-5 [1683 kB] 112s Get:15 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libxapian30 ppc64el 1.4.29-3 [810 kB] 112s Get:16 http://ftpmaster.internal/ubuntu resolute/main ppc64el libxslt1.1 ppc64el 1.1.43-0.3 [190 kB] 112s Get:17 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-aeidon all 1.15-2build1 [225 kB] 112s Get:18 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-soupsieve all 2.8.3-1 [34.0 kB] 112s Get:19 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-bs4 all 4.14.3-2build1 [84.8 kB] 112s Get:20 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-charset-normalizer ppc64el 3.4.4-2 [175 kB] 112s Get:21 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-cheroot all 11.1.2+ds1-1 [81.5 kB] 112s Get:22 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-diff-match-patch all 20241021-1 [33.6 kB] 112s Get:23 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-enchant all 3.3.0-1 [35.0 kB] 112s Get:24 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-rapidfuzz ppc64el 3.12.2+ds-1build1 [1467 kB] 112s Get:25 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-levenshtein ppc64el 0.27.1-2build1 [157 kB] 112s Get:26 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-lxml ppc64el 6.0.2-1 [2452 kB] 112s Get:27 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-mistletoe all 1.5.1-1 [41.7 kB] 112s Get:28 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-ply all 3.11-10 [45.9 kB] 112s Get:29 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-phply all 1.2.6-1build1 [50.6 kB] 112s Get:30 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pytz all 2025.2-5 [32.4 kB] 112s Get:31 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-ruamel.yaml.clib ppc64el 0.2.15+ds-1 [230 kB] 112s Get:32 http://ftpmaster.internal/ubuntu resolute-proposed/universe ppc64el python3-ruamel.yaml all 0.18.10+ds-1build1 [127 kB] 112s Get:33 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-tomlkit all 0.13.3-2 [39.1 kB] 112s Get:34 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-translate all 3.18.1-1 [339 kB] 113s Get:35 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-unicode-segmentation-rs ppc64el 0.2.1-1 [293 kB] 113s Get:36 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-vobject all 0.9.9+dfsg-1 [41.5 kB] 113s Get:37 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-xapian ppc64el 1.4.29-1build1 [548 kB] 113s Get:38 http://ftpmaster.internal/ubuntu resolute/universe ppc64el subversion ppc64el 1.14.5-5 [942 kB] 113s Get:39 http://ftpmaster.internal/ubuntu resolute/universe ppc64el translate-toolkit all 3.18.1-1 [83.7 kB] 113s Get:40 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-iniparse all 0.5.1-2 [21.4 kB] 113s Get:41 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 113s Preconfiguring packages ... 113s Fetched 13.8 MB in 1s (9197 kB/s) 113s Selecting previously unselected package emacsen-common. 113s (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 ... 120856 files and directories currently installed.) 113s Preparing to unpack .../00-emacsen-common_3.0.8_all.deb ... 113s Unpacking emacsen-common (3.0.8) ... 113s Selecting previously unselected package dictionaries-common. 113s Preparing to unpack .../01-dictionaries-common_1.31.3_all.deb ... 113s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 113s Unpacking dictionaries-common (1.31.3) ... 113s Selecting previously unselected package libgomp1:ppc64el. 113s Preparing to unpack .../02-libgomp1_15.2.0-12ubuntu1_ppc64el.deb ... 113s Unpacking libgomp1:ppc64el (15.2.0-12ubuntu1) ... 113s Selecting previously unselected package gettext. 113s Preparing to unpack .../03-gettext_0.23.2-1_ppc64el.deb ... 113s Unpacking gettext (0.23.2-1) ... 113s Selecting previously unselected package hunspell-en-us. 113s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-4build1_all.deb ... 113s Unpacking hunspell-en-us (1:2020.12.07-4build1) ... 114s Selecting previously unselected package libapr1t64:ppc64el. 114s Preparing to unpack .../05-libapr1t64_1.7.6-3_ppc64el.deb ... 114s Unpacking libapr1t64:ppc64el (1.7.6-3) ... 114s Selecting previously unselected package libaprutil1t64:ppc64el. 114s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu3_ppc64el.deb ... 114s Unpacking libaprutil1t64:ppc64el (1.6.3-3ubuntu3) ... 114s Selecting previously unselected package libaspell15:ppc64el. 114s Preparing to unpack .../07-libaspell15_0.60.8.1-6_ppc64el.deb ... 114s Unpacking libaspell15:ppc64el (0.60.8.1-6) ... 114s Selecting previously unselected package libhunspell-1.7-0:ppc64el. 114s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-11_ppc64el.deb ... 114s Unpacking libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-11) ... 114s Selecting previously unselected package libenchant-2-2:ppc64el. 114s Preparing to unpack .../09-libenchant-2-2_2.8.2+dfsg1-3build1_ppc64el.deb ... 114s Unpacking libenchant-2-2:ppc64el (2.8.2+dfsg1-3build1) ... 114s Selecting previously unselected package libexttextcat-data. 114s Preparing to unpack .../10-libexttextcat-data_3.4.7-1ubuntu2_all.deb ... 114s Unpacking libexttextcat-data (3.4.7-1ubuntu2) ... 114s Selecting previously unselected package libserf-1-1:ppc64el. 114s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_ppc64el.deb ... 114s Unpacking libserf-1-1:ppc64el (1.3.10-3ubuntu1) ... 114s Selecting previously unselected package libutf8proc3:ppc64el. 114s Preparing to unpack .../12-libutf8proc3_2.10.0-2_ppc64el.deb ... 114s Unpacking libutf8proc3:ppc64el (2.10.0-2) ... 114s Selecting previously unselected package libsvn1:ppc64el. 114s Preparing to unpack .../13-libsvn1_1.14.5-5_ppc64el.deb ... 114s Unpacking libsvn1:ppc64el (1.14.5-5) ... 114s Selecting previously unselected package libxapian30:ppc64el. 114s Preparing to unpack .../14-libxapian30_1.4.29-3_ppc64el.deb ... 114s Unpacking libxapian30:ppc64el (1.4.29-3) ... 114s Selecting previously unselected package libxslt1.1:ppc64el. 114s Preparing to unpack .../15-libxslt1.1_1.1.43-0.3_ppc64el.deb ... 114s Unpacking libxslt1.1:ppc64el (1.1.43-0.3) ... 114s Selecting previously unselected package python3-aeidon. 114s Preparing to unpack .../16-python3-aeidon_1.15-2build1_all.deb ... 114s Unpacking python3-aeidon (1.15-2build1) ... 114s Selecting previously unselected package python3-soupsieve. 114s Preparing to unpack .../17-python3-soupsieve_2.8.3-1_all.deb ... 114s Unpacking python3-soupsieve (2.8.3-1) ... 114s Selecting previously unselected package python3-bs4. 114s Preparing to unpack .../18-python3-bs4_4.14.3-2build1_all.deb ... 114s Unpacking python3-bs4 (4.14.3-2build1) ... 114s Selecting previously unselected package python3-charset-normalizer. 114s Preparing to unpack .../19-python3-charset-normalizer_3.4.4-2_ppc64el.deb ... 114s Unpacking python3-charset-normalizer (3.4.4-2) ... 114s Selecting previously unselected package python3-cheroot. 114s Preparing to unpack .../20-python3-cheroot_11.1.2+ds1-1_all.deb ... 114s Unpacking python3-cheroot (11.1.2+ds1-1) ... 114s Selecting previously unselected package python3-diff-match-patch. 114s Preparing to unpack .../21-python3-diff-match-patch_20241021-1_all.deb ... 114s Unpacking python3-diff-match-patch (20241021-1) ... 114s Selecting previously unselected package python3-enchant. 114s Preparing to unpack .../22-python3-enchant_3.3.0-1_all.deb ... 114s Unpacking python3-enchant (3.3.0-1) ... 114s Selecting previously unselected package python3-rapidfuzz. 114s Preparing to unpack .../23-python3-rapidfuzz_3.12.2+ds-1build1_ppc64el.deb ... 114s Unpacking python3-rapidfuzz (3.12.2+ds-1build1) ... 114s Selecting previously unselected package python3-levenshtein. 114s Preparing to unpack .../24-python3-levenshtein_0.27.1-2build1_ppc64el.deb ... 114s Unpacking python3-levenshtein (0.27.1-2build1) ... 114s Selecting previously unselected package python3-lxml:ppc64el. 114s Preparing to unpack .../25-python3-lxml_6.0.2-1_ppc64el.deb ... 114s Unpacking python3-lxml:ppc64el (6.0.2-1) ... 114s Selecting previously unselected package python3-mistletoe. 114s Preparing to unpack .../26-python3-mistletoe_1.5.1-1_all.deb ... 114s Unpacking python3-mistletoe (1.5.1-1) ... 114s Selecting previously unselected package python3-ply. 114s Preparing to unpack .../27-python3-ply_3.11-10_all.deb ... 114s Unpacking python3-ply (3.11-10) ... 114s Selecting previously unselected package python3-phply. 114s Preparing to unpack .../28-python3-phply_1.2.6-1build1_all.deb ... 114s Unpacking python3-phply (1.2.6-1build1) ... 114s Selecting previously unselected package python3-pytz. 114s Preparing to unpack .../29-python3-pytz_2025.2-5_all.deb ... 114s Unpacking python3-pytz (2025.2-5) ... 114s Selecting previously unselected package python3-ruamel.yaml.clib. 114s Preparing to unpack .../30-python3-ruamel.yaml.clib_0.2.15+ds-1_ppc64el.deb ... 114s Unpacking python3-ruamel.yaml.clib (0.2.15+ds-1) ... 114s Selecting previously unselected package python3-ruamel.yaml. 114s Preparing to unpack .../31-python3-ruamel.yaml_0.18.10+ds-1build1_all.deb ... 114s Unpacking python3-ruamel.yaml (0.18.10+ds-1build1) ... 114s Selecting previously unselected package python3-tomlkit. 114s Preparing to unpack .../32-python3-tomlkit_0.13.3-2_all.deb ... 114s Unpacking python3-tomlkit (0.13.3-2) ... 114s Selecting previously unselected package python3-translate. 114s Preparing to unpack .../33-python3-translate_3.18.1-1_all.deb ... 114s Unpacking python3-translate (3.18.1-1) ... 114s Selecting previously unselected package python3-unicode-segmentation-rs. 114s Preparing to unpack .../34-python3-unicode-segmentation-rs_0.2.1-1_ppc64el.deb ... 114s Unpacking python3-unicode-segmentation-rs (0.2.1-1) ... 114s Selecting previously unselected package python3-vobject. 114s Preparing to unpack .../35-python3-vobject_0.9.9+dfsg-1_all.deb ... 114s Unpacking python3-vobject (0.9.9+dfsg-1) ... 114s Selecting previously unselected package python3-xapian. 114s Preparing to unpack .../36-python3-xapian_1.4.29-1build1_ppc64el.deb ... 114s Unpacking python3-xapian (1.4.29-1build1) ... 114s Selecting previously unselected package subversion. 114s Preparing to unpack .../37-subversion_1.14.5-5_ppc64el.deb ... 114s Unpacking subversion (1.14.5-5) ... 114s Selecting previously unselected package translate-toolkit. 114s Preparing to unpack .../38-translate-toolkit_3.18.1-1_all.deb ... 114s Unpacking translate-toolkit (3.18.1-1) ... 114s Selecting previously unselected package python3-iniparse. 114s Preparing to unpack .../39-python3-iniparse_0.5.1-2_all.deb ... 114s Unpacking python3-iniparse (0.5.1-2) ... 114s Selecting previously unselected package python3-pycountry. 114s Preparing to unpack .../40-python3-pycountry_24.6.1+ds1-1_all.deb ... 114s Unpacking python3-pycountry (24.6.1+ds1-1) ... 115s Setting up libxapian30:ppc64el (1.4.29-3) ... 115s Setting up python3-rapidfuzz (3.12.2+ds-1build1) ... 115s Setting up python3-diff-match-patch (20241021-1) ... 115s Setting up python3-aeidon (1.15-2build1) ... 115s Setting up libutf8proc3:ppc64el (2.10.0-2) ... 115s Setting up libaspell15:ppc64el (0.60.8.1-6) ... 115s Setting up python3-charset-normalizer (3.4.4-2) ... 115s Setting up python3-ply (3.11-10) ... 115s Setting up python3-ruamel.yaml.clib (0.2.15+ds-1) ... 115s Setting up python3-pytz (2025.2-5) ... 115s Setting up python3-unicode-segmentation-rs (0.2.1-1) ... 115s Setting up libgomp1:ppc64el (15.2.0-12ubuntu1) ... 115s Setting up emacsen-common (3.0.8) ... 115s Setting up python3-cheroot (11.1.2+ds1-1) ... 116s Setting up python3-pycountry (24.6.1+ds1-1) ... 116s Setting up python3-xapian (1.4.29-1build1) ... 116s Setting up python3-ruamel.yaml (0.18.10+ds-1build1) ... 116s Setting up python3-mistletoe (1.5.1-1) ... 116s Setting up libexttextcat-data (3.4.7-1ubuntu2) ... 116s Setting up libapr1t64:ppc64el (1.7.6-3) ... 116s Setting up libxslt1.1:ppc64el (1.1.43-0.3) ... 116s Setting up python3-levenshtein (0.27.1-2build1) ... 116s Setting up libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-11) ... 116s Setting up python3-tomlkit (0.13.3-2) ... 116s Setting up python3-soupsieve (2.8.3-1) ... 116s Setting up python3-iniparse (0.5.1-2) ... 117s Setting up libaprutil1t64:ppc64el (1.6.3-3ubuntu3) ... 117s Setting up python3-vobject (0.9.9+dfsg-1) ... 117s Setting up gettext (0.23.2-1) ... 117s Setting up python3-phply (1.2.6-1build1) ... 117s Setting up dictionaries-common (1.31.3) ... 117s Setting up libserf-1-1:ppc64el (1.3.10-3ubuntu1) ... 117s Setting up python3-bs4 (4.14.3-2build1) ... 117s Setting up python3-lxml:ppc64el (6.0.2-1) ... 117s Setting up hunspell-en-us (1:2020.12.07-4build1) ... 117s Setting up libsvn1:ppc64el (1.14.5-5) ... 117s Setting up libenchant-2-2:ppc64el (2.8.2+dfsg1-3build1) ... 117s Setting up subversion (1.14.5-5) ... 117s Setting up python3-enchant (3.3.0-1) ... 118s Setting up python3-translate (3.18.1-1) ... 118s Setting up translate-toolkit (3.18.1-1) ... 118s Processing triggers for libc-bin (2.42-2ubuntu4) ... 118s Processing triggers for man-db (2.13.1-1) ... 119s Processing triggers for install-info (7.2-5) ... 120s Processing triggers for dictionaries-common (1.31.3) ... 121s autopkgtest [06:11:12]: test translate-toolkit: [----------------------- 121s ========= SMOKE TEST: /usr/bin/android2po =========== 121s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 121s 121s Convert Android string files to Gettext PO localization files. See: 121s http://docs.translatehouse.org/projects/translate- 121s toolkit/en/latest/commands/android2po.html for examples and usage 121s instructions. 121s 121s Options: 121s --version show program's version number and exit 121s -h, --help show this help message and exit 121s --manpage output a manpage based on the help 121s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 121s --errorlevel=ERRORLEVEL 121s show errorlevel as: none, message, exception, 121s traceback 121s -i INPUT, --input=INPUT 121s read from INPUT in xml format 121s -x EXCLUDE, --exclude=EXCLUDE 121s exclude names matching EXCLUDE from input paths 121s -o OUTPUT, --output=OUTPUT 121s write to OUTPUT in po, pot formats 121s -t TEMPLATE, --template=TEMPLATE 121s read from TEMPLATE in xml format 121s -S, --timestamp skip conversion if the output file has newer timestamp 121s --duplicates=DUPLICATESTYLE 121s what to do with duplicate strings (identical source 121s text): merge, msgctxt (default: 'msgctxt') 121s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 121s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 121s input files [input files ...] 121s 121s positional arguments: 121s input files 121s 121s options: 121s -h, --help show this help message and exit 121s -d, --tmdb TMDB_FILE translation memory database file (default: tm.db) 121s -s, --import-source-lang SOURCE_LANG 121s source language of translation files (default: en) 121s -t, --import-target-lang TARGET_LANG 121s target language of translation files 121s ========= SMOKE TEST: /usr/bin/csv2po =========== 121s 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] 121s 121s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 121s See: http://docs.translatehouse.org/projects/translate- 121s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 121s 121s Options: 121s --version show program's version number and exit 121s -h, --help show this help message and exit 121s --manpage output a manpage based on the help 121s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 121s --errorlevel=ERRORLEVEL 121s show errorlevel as: none, message, exception, 121s traceback 121s -i INPUT, --input=INPUT 121s read from INPUT in csv format 121s -x EXCLUDE, --exclude=EXCLUDE 121s exclude names matching EXCLUDE from input paths 121s -o OUTPUT, --output=OUTPUT 121s write to OUTPUT in po, pot formats 121s -t TEMPLATE, --template=TEMPLATE 121s read from TEMPLATE in po, pot, pot formats 121s -S, --timestamp skip conversion if the output file has newer timestamp 121s -P, --pot output PO Templates (.pot) rather than PO files (.po) 121s --charset=CHARSET set charset to decode from csv files 121s --columnorder=COLUMNORDER 121s specify the order and position of columns 121s (location,source,target,context) 121s --duplicates=DUPLICATESTYLE 121s what to do with duplicate strings (identical source 121s text): merge, msgctxt (default: 'msgctxt') 121s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 121s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 121s 121s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 121s glossary file. See: http://docs.translatehouse.org/projects/translate- 121s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 121s 121s Options: 121s --version show program's version number and exit 121s -h, --help show this help message and exit 121s --manpage output a manpage based on the help 121s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 121s --errorlevel=ERRORLEVEL 121s show errorlevel as: none, message, exception, 121s traceback 121s -i INPUT, --input=INPUT 121s read from INPUT in csv format 121s -x EXCLUDE, --exclude=EXCLUDE 121s exclude names matching EXCLUDE from input paths 121s -o OUTPUT, --output=OUTPUT 121s write to OUTPUT in tbx format 121s -S, --timestamp skip conversion if the output file has newer timestamp 121s --charset=CHARSET set charset to decode from csv files 121s --columnorder=COLUMNORDER 121s specify the order and position of columns 121s (comment,source,target) 121s ========= SMOKE TEST: /usr/bin/dtd2po =========== 121s 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] 121s 121s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 121s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 121s this module You can convert back to .dtd using po2dtd.py. 121s 121s Options: 121s --version show program's version number and exit 121s -h, --help show this help message and exit 121s --manpage output a manpage based on the help 121s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 121s --errorlevel=ERRORLEVEL 121s show errorlevel as: none, message, exception, 121s traceback 121s -i INPUT, --input=INPUT 121s read from INPUT in dtd format 121s -x EXCLUDE, --exclude=EXCLUDE 121s exclude names matching EXCLUDE from input paths 121s -o OUTPUT, --output=OUTPUT 121s write to OUTPUT in po, pot formats 121s -t TEMPLATE, --template=TEMPLATE 121s read from TEMPLATE in dtd format 121s -S, --timestamp skip conversion if the output file has newer timestamp 121s -P, --pot output PO Templates (.pot) rather than PO files (.po) 121s --duplicates=DUPLICATESTYLE 121s what to do with duplicate strings (identical source 121s text): merge, msgctxt (default: 'msgctxt') 122s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 122s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 122s 122s Convert flat XML files to Gettext PO localization files. See: 122s http://docs.translatehouse.org/projects/translate- 122s toolkit/en/latest/commands/flatxml2po.html for examples and usage 122s instructions. 122s 122s Options: 122s --version show program's version number and exit 122s -h, --help show this help message and exit 122s --manpage output a manpage based on the help 122s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 122s --errorlevel=ERRORLEVEL 122s show errorlevel as: none, message, exception, 122s traceback 122s -i INPUT, --input=INPUT 122s read from INPUT in xml format 122s -x EXCLUDE, --exclude=EXCLUDE 122s exclude names matching EXCLUDE from input paths 122s -o OUTPUT, --output=OUTPUT 122s write to OUTPUT in po, pot formats 122s -S, --timestamp skip conversion if the output file has newer timestamp 122s -r ROOT, --root=ROOT name of the XML root element (default: "root") 122s -v VALUE, --value=VALUE 122s name of the XML value element (default: "str") 122s -k KEY, --key=KEY name of the XML key attribute (default: "key") 122s -n NS, --namespace=NS 122s XML namespace uri (default: None) 122s ========= SMOKE TEST: /usr/bin/html2po =========== 122s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 122s 122s Convert HTML files to Gettext PO localization files. See: 122s http://docs.translatehouse.org/projects/translate- 122s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 122s 122s Options: 122s --version show program's version number and exit 122s -h, --help show this help message and exit 122s --manpage output a manpage based on the help 122s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 122s --errorlevel=ERRORLEVEL 122s show errorlevel as: none, message, exception, 122s traceback 122s -i INPUT, --input=INPUT 122s read from INPUT in htm, html, xhtml formats 122s -x EXCLUDE, --exclude=EXCLUDE 122s exclude names matching EXCLUDE from input paths 122s -o OUTPUT, --output=OUTPUT 122s write to OUTPUT in po, pot formats 122s -S, --timestamp skip conversion if the output file has newer timestamp 122s -P, --pot output PO Templates (.pot) rather than PO files (.po) 122s --keepcomments preserve html comments as translation notes in the 122s output 122s --duplicates=DUPLICATESTYLE 122s what to do with duplicate strings (identical source 122s text): merge, msgctxt (default: 'msgctxt') 122s --multifile=MULTIFILESTYLE 122s how to split po/pot files (single, toplevel or 122s onefile) 122s ========= SMOKE TEST: /usr/bin/ical2po =========== 122s 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] 122s 122s Convert iCalendar files to Gettext PO localization files. See: 122s http://docs.translatehouse.org/projects/translate- 122s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 122s 122s Options: 122s --version show program's version number and exit 122s -h, --help show this help message and exit 122s --manpage output a manpage based on the help 122s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 122s --errorlevel=ERRORLEVEL 122s show errorlevel as: none, message, exception, 122s traceback 122s -i INPUT, --input=INPUT 122s read from INPUT in ics format 122s -x EXCLUDE, --exclude=EXCLUDE 122s exclude names matching EXCLUDE from input paths 122s -o OUTPUT, --output=OUTPUT 122s write to OUTPUT in po, pot formats 122s -t TEMPLATE, --template=TEMPLATE 122s read from TEMPLATE in ics format 122s -S, --timestamp skip conversion if the output file has newer timestamp 122s -P, --pot output PO Templates (.pot) rather than PO files (.po) 122s --duplicates=DUPLICATESTYLE 122s what to do with duplicate strings (identical source 122s text): merge, msgctxt (default: 'msgctxt') 122s ========= SMOKE TEST: /usr/bin/idml2po =========== 122s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 122s 122s Convert IDML files to PO localization files. 122s 122s Options: 122s --version show program's version number and exit 122s -h, --help show this help message and exit 122s --manpage output a manpage based on the help 122s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 122s --errorlevel=ERRORLEVEL 122s show errorlevel as: none, message, exception, 122s traceback 122s -i INPUT, --input=INPUT 122s read from INPUT in idml format 122s -x EXCLUDE, --exclude=EXCLUDE 122s exclude names matching EXCLUDE from input paths 122s -o OUTPUT, --output=OUTPUT 122s write to OUTPUT in po, pot formats 122s -S, --timestamp skip conversion if the output file has newer timestamp 122s ========= SMOKE TEST: /usr/bin/ini2po =========== 122s 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] 122s 122s Convert .ini files to Gettext PO localization files. See: 122s http://docs.translatehouse.org/projects/translate- 122s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 122s 122s Options: 122s --version show program's version number and exit 122s -h, --help show this help message and exit 122s --manpage output a manpage based on the help 122s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 122s --errorlevel=ERRORLEVEL 122s show errorlevel as: none, message, exception, 122s traceback 122s -i INPUT, --input=INPUT 122s read from INPUT in ini, isl, iss formats 122s -x EXCLUDE, --exclude=EXCLUDE 122s exclude names matching EXCLUDE from input paths 122s -o OUTPUT, --output=OUTPUT 122s write to OUTPUT in po, pot formats 122s -t TEMPLATE, --template=TEMPLATE 122s read from TEMPLATE in ini, isl, iss formats 122s -S, --timestamp skip conversion if the output file has newer timestamp 122s -P, --pot output PO Templates (.pot) rather than PO files (.po) 122s --duplicates=DUPLICATESTYLE 122s what to do with duplicate strings (identical source 122s text): merge, msgctxt (default: 'msgctxt') 123s ========= SMOKE TEST: /usr/bin/json2po =========== 123s 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] 123s 123s Convert JSON files to Gettext PO localization files. See: 123s http://docs.translatehouse.org/projects/translate- 123s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 123s 123s Options: 123s --version show program's version number and exit 123s -h, --help show this help message and exit 123s --manpage output a manpage based on the help 123s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 123s --errorlevel=ERRORLEVEL 123s show errorlevel as: none, message, exception, 123s traceback 123s -i INPUT, --input=INPUT 123s read from INPUT in json format 123s -x EXCLUDE, --exclude=EXCLUDE 123s exclude names matching EXCLUDE from input paths 123s -o OUTPUT, --output=OUTPUT 123s write to OUTPUT in po, pot formats 123s -t TEMPLATE, --template=TEMPLATE 123s read from TEMPLATE in json format 123s -S, --timestamp skip conversion if the output file has newer timestamp 123s -P, --pot output PO Templates (.pot) rather than PO files (.po) 123s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 123s everything) 123s --duplicates=DUPLICATESTYLE 123s what to do with duplicate strings (identical source 123s text): merge, msgctxt (default: 'msgctxt') 123s ========= SMOKE TEST: /usr/bin/md2po =========== 123s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 123s 123s Convert Markdown files to Gettext PO localization files. See: 123s http://docs.translatehouse.org/projects/translate- 123s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 123s 123s Options: 123s --version show program's version number and exit 123s -h, --help show this help message and exit 123s --manpage output a manpage based on the help 123s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 123s --errorlevel=ERRORLEVEL 123s show errorlevel as: none, message, exception, 123s traceback 123s -i INPUT, --input=INPUT 123s read from INPUT in markdown, md, text, txt formats 123s -x EXCLUDE, --exclude=EXCLUDE 123s exclude names matching EXCLUDE from input paths 123s -o OUTPUT, --output=OUTPUT 123s write to OUTPUT in po, pot formats 123s -S, --timestamp skip conversion if the output file has newer timestamp 123s -P, --pot output PO Templates (.pot) rather than PO files (.po) 123s --duplicates=DUPLICATESTYLE 123s what to do with duplicate strings (identical source 123s text): merge, msgctxt (default: 'msgctxt') 123s --multifile=MULTIFILESTYLE 123s how to split po/pot files (single, toplevel or 123s onefile) 123s ========= SMOKE TEST: /usr/bin/moz2po =========== 123s 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] 123s 123s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 123s See: http://docs.translatehouse.org/projects/translate- 123s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 123s 123s Options: 123s --version show program's version number and exit 123s -h, --help show this help message and exit 123s --manpage output a manpage based on the help 123s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 123s --errorlevel=ERRORLEVEL 123s show errorlevel as: none, message, exception, 123s traceback 123s -i INPUT, --input=INPUT 123s read from INPUT in *, dtd, inc, ini, it, js, lang, 123s manifest, properties, rdf formats 123s -x EXCLUDE, --exclude=EXCLUDE 123s exclude names matching EXCLUDE from input paths 123s -o OUTPUT, --output=OUTPUT 123s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 123s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 123s lang.pot, manifest, properties.po, properties.pot, rdf 123s formats 123s -t TEMPLATE, --template=TEMPLATE 123s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 123s manifest, properties, rdf formats 123s -S, --timestamp skip conversion if the output file has newer timestamp 123s -P, --pot output PO Templates (.pot) rather than PO files (.po) 123s --duplicates=DUPLICATESTYLE 123s what to do with duplicate strings (identical source 123s text): merge, msgctxt (default: 'msgctxt') 123s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 123s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 123s 123s Convert Mozilla .lang files to Gettext PO localization files. 123s 123s Options: 123s --version show program's version number and exit 123s -h, --help show this help message and exit 123s --manpage output a manpage based on the help 123s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 123s --errorlevel=ERRORLEVEL 123s show errorlevel as: none, message, exception, 123s traceback 123s -i INPUT, --input=INPUT 123s read from INPUT in lang format 123s -x EXCLUDE, --exclude=EXCLUDE 123s exclude names matching EXCLUDE from input paths 123s -o OUTPUT, --output=OUTPUT 123s write to OUTPUT in po, pot formats 123s -S, --timestamp skip conversion if the output file has newer timestamp 123s -P, --pot output PO Templates (.pot) rather than PO files (.po) 123s --encoding=ENCODING The encoding of the input file (default: UTF-8) 123s --duplicates=DUPLICATESTYLE 123s what to do with duplicate strings (identical source 123s text): merge, msgctxt (default: 'msgctxt') 123s ========= SMOKE TEST: /usr/bin/msghack =========== 124s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 124s This program can be used to alter .po files in ways no sane mind would think about. 124s -o result will be written to FILE 124s --invert invert a po file by switching msgid and msgstr 124s --master join any number of files in a master-formatted catalog 124s --empty empty the contents of the .po file, creating a .pot 124s --append append entries from ref.po that don't exist in file.po 124s 124s Note: It is just a replacement of msghack for backward support. 124s 124s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 124s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 124s 124s Convert OpenDocument (ODF) files to XLIFF localization files. See: 124s http://docs.translatehouse.org/projects/translate- 124s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 124s 124s Options: 124s --version show program's version number and exit 124s -h, --help show this help message and exit 124s --manpage output a manpage based on the help 124s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 124s --errorlevel=ERRORLEVEL 124s show errorlevel as: none, message, exception, 124s traceback 124s -i INPUT, --input=INPUT 124s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 124s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 124s formats 124s -x EXCLUDE, --exclude=EXCLUDE 124s exclude names matching EXCLUDE from input paths 124s -o OUTPUT, --output=OUTPUT 124s write to OUTPUT in xlf, xliff formats 124s -S, --timestamp skip conversion if the output file has newer timestamp 124s ========= SMOKE TEST: /usr/bin/oo2po =========== 124s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 124s 124s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 124s files. See: http://docs.translatehouse.org/projects/translate- 124s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 124s 124s Options: 124s --version show program's version number and exit 124s -h, --help show this help message and exit 124s --manpage output a manpage based on the help 124s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 124s --errorlevel=ERRORLEVEL 124s show errorlevel as: none, message, exception, 124s traceback 124s -i INPUT, --input=INPUT 124s read from INPUT in oo, sdf formats 124s -x EXCLUDE, --exclude=EXCLUDE 124s exclude names matching EXCLUDE from input paths 124s -o OUTPUT, --output=OUTPUT 124s write to OUTPUT in po, pot formats 124s -S, --timestamp skip conversion if the output file has newer timestamp 124s -P, --pot output PO Templates (.pot) rather than PO files (.po) 124s -l LANG, --language=LANG 124s set target language to extract from oo file (e.g. af- 124s ZA) 124s --source-language=LANG 124s set source language code (default en-US) 124s --nonrecursiveinput don't treat the input oo as a recursive store 124s --duplicates=DUPLICATESTYLE 124s what to do with duplicate strings (identical source 124s text): merge, msgctxt (default: 'msgctxt') 124s --multifile=MULTIFILESTYLE 124s how to split po/pot files (single, toplevel or 124s onefile) 124s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 124s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 124s 124s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 124s files. See: http://docs.translatehouse.org/projects/translate- 124s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 124s 124s Options: 124s --version show program's version number and exit 124s -h, --help show this help message and exit 124s --manpage output a manpage based on the help 124s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 124s --errorlevel=ERRORLEVEL 124s show errorlevel as: none, message, exception, 124s traceback 124s -i INPUT, --input=INPUT 124s read from INPUT in oo, sdf formats 124s -x EXCLUDE, --exclude=EXCLUDE 124s exclude names matching EXCLUDE from input paths 124s -o OUTPUT, --output=OUTPUT 124s write to OUTPUT in xlf, xliff formats 124s -S, --timestamp skip conversion if the output file has newer timestamp 124s -l LANG, --language=LANG 124s set target language to extract from oo file (e.g. af- 124s ZA) 124s --source-language=LANG 124s set source language code (default en-US) 124s --nonrecursiveinput don't treat the input oo as a recursive store 124s --duplicates=DUPLICATESTYLE 124s what to do with duplicate strings (identical source 124s text): merge, msgctxt (default: 'msgctxt') 124s --multifile=MULTIFILESTYLE 124s how to split po/pot files (single, toplevel or 124s onefile) 124s ========= SMOKE TEST: /usr/bin/php2po =========== 124s 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] 124s 124s Convert PHP localization files to Gettext PO localization files. See: 124s http://docs.translatehouse.org/projects/translate- 124s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 124s 124s Options: 124s --version show program's version number and exit 124s -h, --help show this help message and exit 124s --manpage output a manpage based on the help 124s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 124s --errorlevel=ERRORLEVEL 124s show errorlevel as: none, message, exception, 124s traceback 124s -i INPUT, --input=INPUT 124s read from INPUT in html, php formats 124s -x EXCLUDE, --exclude=EXCLUDE 124s exclude names matching EXCLUDE from input paths 124s -o OUTPUT, --output=OUTPUT 124s write to OUTPUT in po, pot formats 124s -t TEMPLATE, --template=TEMPLATE 124s read from TEMPLATE in html, php formats 124s -S, --timestamp skip conversion if the output file has newer timestamp 124s -P, --pot output PO Templates (.pot) rather than PO files (.po) 124s --duplicates=DUPLICATESTYLE 124s what to do with duplicate strings (identical source 124s text): merge, msgctxt (default: 'msgctxt') 124s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 124s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 124s 124s Convert PHP format .po files to Python format .po files. 124s 124s Options: 124s --version show program's version number and exit 124s -h, --help show this help message and exit 124s --manpage output a manpage based on the help 124s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 124s --errorlevel=ERRORLEVEL 124s show errorlevel as: none, message, exception, 124s traceback 124s -i INPUT, --input=INPUT 124s read from INPUT in po, pot formats 124s -x EXCLUDE, --exclude=EXCLUDE 124s exclude names matching EXCLUDE from input paths 124s -o OUTPUT, --output=OUTPUT 124s write to OUTPUT in po, pot formats 124s -S, --timestamp skip conversion if the output file has newer timestamp 124s ========= SMOKE TEST: /usr/bin/po2csv =========== 124s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 124s 124s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 124s See: http://docs.translatehouse.org/projects/translate- 124s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 124s 124s Options: 124s --version show program's version number and exit 124s -h, --help show this help message and exit 124s --manpage output a manpage based on the help 124s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 124s --errorlevel=ERRORLEVEL 124s show errorlevel as: none, message, exception, 124s traceback 124s -i INPUT, --input=INPUT 124s read from INPUT in po, pot formats 124s -x EXCLUDE, --exclude=EXCLUDE 124s exclude names matching EXCLUDE from input paths 124s -o OUTPUT, --output=OUTPUT 124s write to OUTPUT in csv format 124s -S, --timestamp skip conversion if the output file has newer timestamp 124s --columnorder=COLUMNORDER 124s specify the order and position of columns 124s (location,source,target,context) 124s ========= SMOKE TEST: /usr/bin/po2dtd =========== 125s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 125s 125s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 125s Conversion is either done using a template plus PO file or just using the 125s .po file. 125s 125s Options: 125s --version show program's version number and exit 125s -h, --help show this help message and exit 125s --manpage output a manpage based on the help 125s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 125s --errorlevel=ERRORLEVEL 125s show errorlevel as: none, message, exception, 125s traceback 125s -i INPUT, --input=INPUT 125s read from INPUT in po, pot formats 125s -x EXCLUDE, --exclude=EXCLUDE 125s exclude names matching EXCLUDE from input paths 125s -o OUTPUT, --output=OUTPUT 125s write to OUTPUT in dtd format 125s -t TEMPLATE, --template=TEMPLATE 125s read from TEMPLATE in dtd format 125s -S, --timestamp skip conversion if the output file has newer timestamp 125s --threshold=PERCENT only convert files where the translation completion is 125s above PERCENT 125s --fuzzy use translations marked fuzzy 125s --nofuzzy don't use translations marked fuzzy (default) 125s --removeuntranslated remove untranslated strings from output 125s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 125s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 125s 125s Convert Gettext PO localization files to flat XML files. See: 125s http://docs.translatehouse.org/projects/translate- 125s toolkit/en/latest/commands/flatxml2po.html for examples and usage 125s instructions. 125s 125s Options: 125s --version show program's version number and exit 125s -h, --help show this help message and exit 125s --manpage output a manpage based on the help 125s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 125s --errorlevel=ERRORLEVEL 125s show errorlevel as: none, message, exception, 125s traceback 125s -i INPUT, --input=INPUT 125s read from INPUT in po, pot formats 125s -x EXCLUDE, --exclude=EXCLUDE 125s exclude names matching EXCLUDE from input paths 125s -o OUTPUT, --output=OUTPUT 125s write to OUTPUT in xml format 125s -t TEMPLATE, --template=TEMPLATE 125s read from TEMPLATE in xml format 125s -S, --timestamp skip conversion if the output file has newer timestamp 125s -r ROOT, --root=ROOT name of the XML root element (default: "root") 125s -v VALUE, --value=VALUE 125s name of the XML value element (default: "str") 125s -k KEY, --key=KEY name of the XML key attribute (default: "key") 125s -n NS, --namespace=NS 125s XML namespace uri (default: None) 125s -w INDENT, --indent=INDENT 125s indent width in spaces, 0 for no indent (default: 2) 125s ========= SMOKE TEST: /usr/bin/po2html =========== 125s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 125s 125s Translate HTML files using Gettext PO localization files. See: 125s http://docs.translatehouse.org/projects/translate- 125s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 125s 125s Options: 125s --version show program's version number and exit 125s -h, --help show this help message and exit 125s --manpage output a manpage based on the help 125s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 125s --errorlevel=ERRORLEVEL 125s show errorlevel as: none, message, exception, 125s traceback 125s -i INPUT, --input=INPUT 125s read from INPUT in po, pot formats 125s -x EXCLUDE, --exclude=EXCLUDE 125s exclude names matching EXCLUDE from input paths 125s -o OUTPUT, --output=OUTPUT 125s write to OUTPUT in htm, html, xhtml formats 125s -t TEMPLATE, --template=TEMPLATE 125s read from TEMPLATE in htm, html, xhtml formats 125s -S, --timestamp skip conversion if the output file has newer timestamp 125s --threshold=PERCENT only convert files where the translation completion is 125s above PERCENT 125s --fuzzy use translations marked fuzzy 125s --nofuzzy don't use translations marked fuzzy (default) 125s ========= SMOKE TEST: /usr/bin/po2ical =========== 125s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 125s 125s Convert Gettext PO localization files to iCalendar files. See: 125s http://docs.translatehouse.org/projects/translate- 125s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 125s 125s Options: 125s --version show program's version number and exit 125s -h, --help show this help message and exit 125s --manpage output a manpage based on the help 125s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 125s --errorlevel=ERRORLEVEL 125s show errorlevel as: none, message, exception, 125s traceback 125s -i INPUT, --input=INPUT 125s read from INPUT in po, pot formats 125s -x EXCLUDE, --exclude=EXCLUDE 125s exclude names matching EXCLUDE from input paths 125s -o OUTPUT, --output=OUTPUT 125s write to OUTPUT in ics format 125s -t TEMPLATE, --template=TEMPLATE 125s read from TEMPLATE in ics format 125s -S, --timestamp skip conversion if the output file has newer timestamp 125s --threshold=PERCENT only convert files where the translation completion is 125s above PERCENT 125s --fuzzy use translations marked fuzzy 125s --nofuzzy don't use translations marked fuzzy (default) 125s ========= SMOKE TEST: /usr/bin/po2idml =========== 125s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 125s 125s Takes an IDML template file and a PO file containing translations of strings 125s in the IDML template. It creates a new IDML file using the translations of the 125s PO file. 125s 125s Options: 125s --version show program's version number and exit 125s -h, --help show this help message and exit 125s --manpage output a manpage based on the help 125s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 125s --errorlevel=ERRORLEVEL 125s show errorlevel as: none, message, exception, 125s traceback 125s -i INPUT, --input=INPUT 125s read from INPUT in po, pot formats 125s -x EXCLUDE, --exclude=EXCLUDE 125s exclude names matching EXCLUDE from input paths 125s -o OUTPUT, --output=OUTPUT 125s write to OUTPUT in idml format 125s -t TEMPLATE, --template=TEMPLATE 125s read from TEMPLATE in idml format 125s -S, --timestamp skip conversion if the output file has newer timestamp 125s ========= SMOKE TEST: /usr/bin/po2ini =========== 125s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 125s 125s Convert Gettext PO localization files to .ini files. See: 125s http://docs.translatehouse.org/projects/translate- 125s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 125s 125s Options: 125s --version show program's version number and exit 125s -h, --help show this help message and exit 125s --manpage output a manpage based on the help 125s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 125s --errorlevel=ERRORLEVEL 125s show errorlevel as: none, message, exception, 125s traceback 125s -i INPUT, --input=INPUT 125s read from INPUT in po, pot formats 125s -x EXCLUDE, --exclude=EXCLUDE 125s exclude names matching EXCLUDE from input paths 125s -o OUTPUT, --output=OUTPUT 125s write to OUTPUT in ini, isl formats 125s -t TEMPLATE, --template=TEMPLATE 125s read from TEMPLATE in ini, isl formats 125s -S, --timestamp skip conversion if the output file has newer timestamp 125s --threshold=PERCENT only convert files where the translation completion is 125s above PERCENT 125s --fuzzy use translations marked fuzzy 125s --nofuzzy don't use translations marked fuzzy (default) 125s ========= SMOKE TEST: /usr/bin/po2json =========== 126s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 126s 126s Convert Gettext PO localization files to JSON files. See: 126s http://docs.translatehouse.org/projects/translate- 126s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 126s 126s Options: 126s --version show program's version number and exit 126s -h, --help show this help message and exit 126s --manpage output a manpage based on the help 126s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 126s --errorlevel=ERRORLEVEL 126s show errorlevel as: none, message, exception, 126s traceback 126s -i INPUT, --input=INPUT 126s read from INPUT in po, pot formats 126s -x EXCLUDE, --exclude=EXCLUDE 126s exclude names matching EXCLUDE from input paths 126s -o OUTPUT, --output=OUTPUT 126s write to OUTPUT in json format 126s -t TEMPLATE, --template=TEMPLATE 126s read from TEMPLATE in json format 126s -S, --timestamp skip conversion if the output file has newer timestamp 126s --threshold=PERCENT only convert files where the translation completion is 126s above PERCENT 126s --fuzzy use translations marked fuzzy 126s --nofuzzy don't use translations marked fuzzy (default) 126s --removeuntranslated remove untranslated strings from output 126s ========= SMOKE TEST: /usr/bin/po2md =========== 126s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 126s 126s Translate Markdown files using Gettext PO localization files. See: 126s http://docs.translatehouse.org/projects/translate- 126s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 126s 126s Options: 126s --version show program's version number and exit 126s -h, --help show this help message and exit 126s --manpage output a manpage based on the help 126s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 126s --errorlevel=ERRORLEVEL 126s show errorlevel as: none, message, exception, 126s traceback 126s -i INPUT, --input=INPUT 126s read from INPUT in po, pot formats 126s -x EXCLUDE, --exclude=EXCLUDE 126s exclude names matching EXCLUDE from input paths 126s -o OUTPUT, --output=OUTPUT 126s write to OUTPUT in markdown, md, text, txt formats 126s -t TEMPLATE, --template=TEMPLATE 126s read from TEMPLATE in markdown, md, text, txt formats 126s -S, --timestamp skip conversion if the output file has newer timestamp 126s -m MAXLENGTH, --maxlinelength=MAXLENGTH 126s reflow (word wrap) the output to the given maximum 126s line length. set to 0 to disable 126s --threshold=PERCENT only convert files where the translation completion is 126s above PERCENT 126s --fuzzy use translations marked fuzzy 126s --nofuzzy don't use translations marked fuzzy (default) 126s ========= SMOKE TEST: /usr/bin/po2moz =========== 126s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 126s 126s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 126s See: http://docs.translatehouse.org/projects/translate- 126s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 126s 126s Options: 126s --version show program's version number and exit 126s -h, --help show this help message and exit 126s --manpage output a manpage based on the help 126s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 126s --errorlevel=ERRORLEVEL 126s show errorlevel as: none, message, exception, 126s traceback 126s -i INPUT, --input=INPUT 126s read from INPUT in *, dtd.po, dtd.pot, inc.po, 126s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 126s lang.pot, manifest, properties.po, properties.pot, rdf 126s formats 126s -x EXCLUDE, --exclude=EXCLUDE 126s exclude names matching EXCLUDE from input paths 126s -o OUTPUT, --output=OUTPUT 126s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 126s manifest, properties, rdf formats 126s -t TEMPLATE, --template=TEMPLATE 126s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 126s manifest, properties, rdf formats 126s -S, --timestamp skip conversion if the output file has newer timestamp 126s -l LOCALE, --locale=LOCALE 126s set output locale (required as this sets the directory 126s names) 126s --threshold=PERCENT only convert files where the translation completion is 126s above PERCENT 126s --fuzzy use translations marked fuzzy 126s --nofuzzy don't use translations marked fuzzy (default) 126s --removeuntranslated remove untranslated strings from output 126s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 126s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 126s 126s Convert Gettext PO localization files to Mozilla .lang files. 126s 126s Options: 126s --version show program's version number and exit 126s -h, --help show this help message and exit 126s --manpage output a manpage based on the help 126s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 126s --errorlevel=ERRORLEVEL 126s show errorlevel as: none, message, exception, 126s traceback 126s -i INPUT, --input=INPUT 126s read from INPUT in po, pot formats 126s -x EXCLUDE, --exclude=EXCLUDE 126s exclude names matching EXCLUDE from input paths 126s -o OUTPUT, --output=OUTPUT 126s write to OUTPUT in lang format 126s -t TEMPLATE, --template=TEMPLATE 126s read from TEMPLATE in lang format 126s -S, --timestamp skip conversion if the output file has newer timestamp 126s --mark-active mark the file as active 126s --threshold=PERCENT only convert files where the translation completion is 126s above PERCENT 126s --fuzzy use translations marked fuzzy 126s --nofuzzy don't use translations marked fuzzy (default) 126s ========= SMOKE TEST: /usr/bin/po2odf =========== 126s Usage: po2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 126s 126s Convert Gettext PO localization files to OpenDocument (ODF) files. This 126s converter combines the functionality of po2xliff and xliff2odf to provide a 126s direct conversion from PO files to ODF files. See: 126s http://docs.translatehouse.org/projects/translate-toolkit/en/latest/commands/ 126s for examples and usage instructions. 126s 126s Options: 126s --version show program's version number and exit 126s -h, --help show this help message and exit 126s --manpage output a manpage based on the help 126s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 126s --errorlevel=ERRORLEVEL 126s show errorlevel as: none, message, exception, 126s traceback 126s -i INPUT, --input=INPUT 126s read from INPUT in po, pot formats 126s -x EXCLUDE, --exclude=EXCLUDE 126s exclude names matching EXCLUDE from input paths 126s -o OUTPUT, --output=OUTPUT 126s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 126s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 126s -t TEMPLATE, --template=TEMPLATE 126s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 126s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 126s formats 126s -S, --timestamp skip conversion if the output file has newer timestamp 127s ========= SMOKE TEST: /usr/bin/po2oo =========== 127s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 127s 127s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 127s file. See: http://docs.translatehouse.org/projects/translate- 127s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 127s 127s Options: 127s --version show program's version number and exit 127s -h, --help show this help message and exit 127s --manpage output a manpage based on the help 127s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 127s --errorlevel=ERRORLEVEL 127s show errorlevel as: none, message, exception, 127s traceback 127s -i INPUT, --input=INPUT 127s read from INPUT in po, pot, xlf, xliff formats 127s -x EXCLUDE, --exclude=EXCLUDE 127s exclude names matching EXCLUDE from input paths 127s -o OUTPUT, --output=OUTPUT 127s write to OUTPUT in oo, sdf formats 127s -t TEMPLATE, --template=TEMPLATE 127s read from TEMPLATE in oo, sdf formats 127s -S, --timestamp skip conversion if the output file has newer timestamp 127s -l LANG, --language=LANG 127s set target language code (e.g. af-ZA) [required] 127s --source-language=LANG 127s set source language code (default en-US) 127s -T, --keeptimestamp don't change the timestamps of the strings 127s --nonrecursiveoutput don't treat the output oo as a recursive store 127s --nonrecursivetemplate 127s don't treat the template oo as a recursive store 127s --skipsource don't output the source language, but fallback to it 127s where needed 127s --filteraction=ACTION 127s action on pofilter failure: none (default), warn, 127s exclude-serious, exclude-all 127s --threshold=PERCENT only convert files where the translation completion is 127s above PERCENT 127s --fuzzy use translations marked fuzzy 127s --nofuzzy don't use translations marked fuzzy (default) 127s --multifile=MULTIFILESTYLE 127s how to split po/pot files (single, toplevel or 127s onefile) 127s ========= SMOKE TEST: /usr/bin/po2php =========== 127s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 127s 127s Convert Gettext PO localization files to PHP localization files. See: 127s http://docs.translatehouse.org/projects/translate- 127s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 127s 127s Options: 127s --version show program's version number and exit 127s -h, --help show this help message and exit 127s --manpage output a manpage based on the help 127s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 127s --errorlevel=ERRORLEVEL 127s show errorlevel as: none, message, exception, 127s traceback 127s -i INPUT, --input=INPUT 127s read from INPUT in po, pot formats 127s -x EXCLUDE, --exclude=EXCLUDE 127s exclude names matching EXCLUDE from input paths 127s -o OUTPUT, --output=OUTPUT 127s write to OUTPUT in html, php formats 127s -t TEMPLATE, --template=TEMPLATE 127s read from TEMPLATE in html, php formats 127s -S, --timestamp skip conversion if the output file has newer timestamp 127s --threshold=PERCENT only convert files where the translation completion is 127s above PERCENT 127s --fuzzy use translations marked fuzzy 127s --nofuzzy don't use translations marked fuzzy (default) 127s ========= SMOKE TEST: /usr/bin/po2prop =========== 127s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 127s 127s Convert Gettext PO localization files to Java/Mozilla .properties files. 127s See: http://docs.translatehouse.org/projects/translate- 127s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 127s 127s Options: 127s --version show program's version number and exit 127s -h, --help show this help message and exit 127s --manpage output a manpage based on the help 127s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 127s --errorlevel=ERRORLEVEL 127s show errorlevel as: none, message, exception, 127s traceback 127s -i INPUT, --input=INPUT 127s read from INPUT in po, pot formats 127s -x EXCLUDE, --exclude=EXCLUDE 127s exclude names matching EXCLUDE from input paths 127s -o OUTPUT, --output=OUTPUT 127s write to OUTPUT in lang, properties, strings formats 127s -t TEMPLATE, --template=TEMPLATE 127s read from TEMPLATE in lang, properties, strings 127s formats 127s -S, --timestamp skip conversion if the output file has newer timestamp 127s --personality=TYPE override the input file format: java, java-utf8, java- 127s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 127s strings, strings-utf8, joomla (for .properties files, 127s default: java) 127s --encoding=ENCODING override the encoding set by the personality 127s --threshold=PERCENT only convert files where the translation completion is 127s above PERCENT 127s --fuzzy use translations marked fuzzy 127s --nofuzzy don't use translations marked fuzzy (default) 127s --removeuntranslated remove untranslated strings from output 127s ========= SMOKE TEST: /usr/bin/po2rc =========== 127s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 127s 127s Convert Gettext PO localization files back to Windows Resource (.rc) files. 127s See: http://docs.translatehouse.org/projects/translate- 127s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 127s 127s Options: 127s --version show program's version number and exit 127s -h, --help show this help message and exit 127s --manpage output a manpage based on the help 127s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 127s --errorlevel=ERRORLEVEL 127s show errorlevel as: none, message, exception, 127s traceback 127s -i INPUT, --input=INPUT 127s read from INPUT in po, pot formats 127s -x EXCLUDE, --exclude=EXCLUDE 127s exclude names matching EXCLUDE from input paths 127s -o OUTPUT, --output=OUTPUT 127s write to OUTPUT in rc format 127s -t TEMPLATE, --template=TEMPLATE 127s read from TEMPLATE in rc format 127s -S, --timestamp skip conversion if the output file has newer timestamp 127s --charset=CHARSET charset to use to decode the template RC files 127s (default: utf-8) 127s --charset-output=CHARSET 127s charset to use to encode the RC file (default: auto) 127s -l LANG, --lang=LANG LANG entry 127s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 127s --threshold=PERCENT only convert files where the translation completion is 127s above PERCENT 127s --fuzzy use translations marked fuzzy 127s --nofuzzy don't use translations marked fuzzy (default) 127s ========= SMOKE TEST: /usr/bin/po2resx =========== 127s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 127s 127s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 127s http://docs.translatehouse.org/projects/translate- 127s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 127s 127s Options: 127s --version show program's version number and exit 127s -h, --help show this help message and exit 127s --manpage output a manpage based on the help 127s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 127s --errorlevel=ERRORLEVEL 127s show errorlevel as: none, message, exception, 127s traceback 127s -i INPUT, --input=INPUT 127s read from INPUT in po, pot formats 127s -x EXCLUDE, --exclude=EXCLUDE 127s exclude names matching EXCLUDE from input paths 127s -o OUTPUT, --output=OUTPUT 127s write to OUTPUT in resx format 127s -t TEMPLATE, --template=TEMPLATE 127s read from TEMPLATE in resx format 127s -S, --timestamp skip conversion if the output file has newer timestamp 127s --fuzzy use translations marked fuzzy 127s --nofuzzy don't use translations marked fuzzy (default) 127s ========= SMOKE TEST: /usr/bin/po2sub =========== 128s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 128s 128s Convert Gettext PO localization files to subtitle files. See: 128s http://docs.translatehouse.org/projects/translate- 128s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 128s 128s Options: 128s --version show program's version number and exit 128s -h, --help show this help message and exit 128s --manpage output a manpage based on the help 128s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 128s --errorlevel=ERRORLEVEL 128s show errorlevel as: none, message, exception, 128s traceback 128s -i INPUT, --input=INPUT 128s read from INPUT in po, pot formats 128s -x EXCLUDE, --exclude=EXCLUDE 128s exclude names matching EXCLUDE from input paths 128s -o OUTPUT, --output=OUTPUT 128s write to OUTPUT in ass, srt, ssa, sub formats 128s -t TEMPLATE, --template=TEMPLATE 128s read from TEMPLATE in ass, srt, ssa, sub formats 128s -S, --timestamp skip conversion if the output file has newer timestamp 128s --threshold=PERCENT only convert files where the translation completion is 128s above PERCENT 128s --fuzzy use translations marked fuzzy 128s --nofuzzy don't use translations marked fuzzy (default) 128s ========= SMOKE TEST: /usr/bin/po2symb =========== 128s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 128s 128s Convert Gettext PO localization files to Symbian translation files. See: 128s http://docs.translatehouse.org/projects/translate- 128s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 128s 128s Options: 128s --version show program's version number and exit 128s -h, --help show this help message and exit 128s --manpage output a manpage based on the help 128s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 128s --errorlevel=ERRORLEVEL 128s show errorlevel as: none, message, exception, 128s traceback 128s -i INPUT, --input=INPUT 128s read from INPUT in po, pot formats 128s -x EXCLUDE, --exclude=EXCLUDE 128s exclude names matching EXCLUDE from input paths 128s -o OUTPUT, --output=OUTPUT 128s write to OUTPUT in r0 format 128s -t TEMPLATE, --template=TEMPLATE 128s read from TEMPLATE in 128s -S, --timestamp skip conversion if the output file has newer timestamp 128s --duplicates=DUPLICATESTYLE 128s what to do with duplicate strings (identical source 128s text): merge, msgctxt (default: 'msgctxt') 128s ========= SMOKE TEST: /usr/bin/po2tiki =========== 128s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 128s 128s Convert Gettext PO files to TikiWiki's language.php files. See: 128s http://docs.translatehouse.org/projects/translate- 128s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 128s 128s Options: 128s --version show program's version number and exit 128s -h, --help show this help message and exit 128s --manpage output a manpage based on the help 128s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 128s --errorlevel=ERRORLEVEL 128s show errorlevel as: none, message, exception, 128s traceback 128s -i INPUT, --input=INPUT 128s read from INPUT in po, pot formats 128s -x EXCLUDE, --exclude=EXCLUDE 128s exclude names matching EXCLUDE from input paths 128s -o OUTPUT, --output=OUTPUT 128s write to OUTPUT in tiki format 128s -S, --timestamp skip conversion if the output file has newer timestamp 128s ========= SMOKE TEST: /usr/bin/po2tmx =========== 128s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 128s 128s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 128s file. See: http://docs.translatehouse.org/projects/translate- 128s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 128s 128s Options: 128s --version show program's version number and exit 128s -h, --help show this help message and exit 128s --manpage output a manpage based on the help 128s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 128s --errorlevel=ERRORLEVEL 128s show errorlevel as: none, message, exception, 128s traceback 128s -i INPUT, --input=INPUT 128s read from INPUT in po, pot formats 128s -x EXCLUDE, --exclude=EXCLUDE 128s exclude names matching EXCLUDE from input paths 128s -o OUTPUT, --output=OUTPUT 128s write to OUTPUT in tmx format 128s -S, --timestamp skip conversion if the output file has newer timestamp 128s -l LANG, --language=LANG 128s set target language code (e.g. af-ZA) [required] 128s --source-language=LANG 128s set source language code (default: en) 128s --comments=COMMENT set default comment import: none, source, type or 128s others (default: none) 128s ========= SMOKE TEST: /usr/bin/po2toml =========== 128s Usage: po2toml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 128s 128s Convert Gettext PO localization files to TOML files. See: 128s http://docs.translatehouse.org/projects/translate- 128s toolkit/en/latest/commands/toml2po.html for examples and usage instructions. 128s 128s Options: 128s --version show program's version number and exit 128s -h, --help show this help message and exit 128s --manpage output a manpage based on the help 128s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 128s --errorlevel=ERRORLEVEL 128s show errorlevel as: none, message, exception, 128s traceback 128s -i INPUT, --input=INPUT 128s read from INPUT in po, pot formats 128s -x EXCLUDE, --exclude=EXCLUDE 128s exclude names matching EXCLUDE from input paths 128s -o OUTPUT, --output=OUTPUT 128s write to OUTPUT in toml format 128s -t TEMPLATE, --template=TEMPLATE 128s read from TEMPLATE in toml format 128s -S, --timestamp skip conversion if the output file has newer timestamp 128s --threshold=PERCENT only convert files where the translation completion is 128s above PERCENT 128s --fuzzy use translations marked fuzzy 128s --nofuzzy don't use translations marked fuzzy (default) 128s ========= SMOKE TEST: /usr/bin/po2ts =========== 128s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 128s 128s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 128s http://docs.translatehouse.org/projects/translate- 128s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 128s 128s Options: 128s --version show program's version number and exit 128s -h, --help show this help message and exit 128s --manpage output a manpage based on the help 128s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 128s --errorlevel=ERRORLEVEL 128s show errorlevel as: none, message, exception, 128s traceback 128s -i INPUT, --input=INPUT 128s read from INPUT in po, pot formats 128s -x EXCLUDE, --exclude=EXCLUDE 128s exclude names matching EXCLUDE from input paths 128s -o OUTPUT, --output=OUTPUT 128s write to OUTPUT in ts format 128s -t TEMPLATE, --template=TEMPLATE 128s read from TEMPLATE in ts format 128s -S, --timestamp skip conversion if the output file has newer timestamp 128s -c CONTEXT, --context=CONTEXT 128s use supplied context instead of the one in the .po 128s file comment 129s ========= SMOKE TEST: /usr/bin/po2txt =========== 129s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 129s 129s Convert Gettext PO localization files to plain text (.txt) files. See: 129s http://docs.translatehouse.org/projects/translate- 129s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 129s 129s Options: 129s --version show program's version number and exit 129s -h, --help show this help message and exit 129s --manpage output a manpage based on the help 129s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 129s --errorlevel=ERRORLEVEL 129s show errorlevel as: none, message, exception, 129s traceback 129s -i INPUT, --input=INPUT 129s read from INPUT in po, pot, xlf, xliff formats 129s -x EXCLUDE, --exclude=EXCLUDE 129s exclude names matching EXCLUDE from input paths 129s -o OUTPUT, --output=OUTPUT 129s write to OUTPUT in txt format 129s -t TEMPLATE, --template=TEMPLATE 129s read from TEMPLATE in txt format 129s -S, --timestamp skip conversion if the output file has newer timestamp 129s --encoding=ENCODING The encoding of the template file (default: UTF-8) 129s -w WRAP, --wrap=WRAP set number of columns to wrap text at 129s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 129s mediawiki 129s --no-segmentation Don't segment the file, treat it like a single message 129s --threshold=PERCENT only convert files where the translation completion is 129s above PERCENT 129s --fuzzy use translations marked fuzzy 129s --nofuzzy don't use translations marked fuzzy (default) 129s ========= SMOKE TEST: /usr/bin/po2web2py =========== 129s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 129s 129s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 129s http://docs.translatehouse.org/projects/translate- 129s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 129s 129s Options: 129s --version show program's version number and exit 129s -h, --help show this help message and exit 129s --manpage output a manpage based on the help 129s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 129s --errorlevel=ERRORLEVEL 129s show errorlevel as: none, message, exception, 129s traceback 129s -i INPUT, --input=INPUT 129s read from INPUT in po, pot formats 129s -x EXCLUDE, --exclude=EXCLUDE 129s exclude names matching EXCLUDE from input paths 129s -o OUTPUT, --output=OUTPUT 129s write to OUTPUT in py format 129s -S, --timestamp skip conversion if the output file has newer timestamp 129s --threshold=PERCENT only convert files where the translation completion is 129s above PERCENT 129s --fuzzy use translations marked fuzzy 129s --nofuzzy don't use translations marked fuzzy (default) 129s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 129s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 129s 129s Convert Gettext PO localization files to a Wordfast translation memory file. 129s See: http://docs.translatehouse.org/projects/translate- 129s toolkit/en/latest/commands/po2wordfast.html for examples and usage 129s instructions. 129s 129s Options: 129s --version show program's version number and exit 129s -h, --help show this help message and exit 129s --manpage output a manpage based on the help 129s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 129s --errorlevel=ERRORLEVEL 129s show errorlevel as: none, message, exception, 129s traceback 129s -i INPUT, --input=INPUT 129s read from INPUT in po, pot formats 129s -x EXCLUDE, --exclude=EXCLUDE 129s exclude names matching EXCLUDE from input paths 129s -o OUTPUT, --output=OUTPUT 129s write to OUTPUT in txt format 129s -S, --timestamp skip conversion if the output file has newer timestamp 129s -l LANG, --language=LANG 129s set target language code (e.g. af-ZA) [required] 129s --source-language=LANG 129s set source language code (default: en) 129s ========= SMOKE TEST: /usr/bin/po2xliff =========== 129s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 129s 129s Convert Gettext PO localization files to XLIFF localization files. See: 129s http://docs.translatehouse.org/projects/translate- 129s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 129s 129s Options: 129s --version show program's version number and exit 129s -h, --help show this help message and exit 129s --manpage output a manpage based on the help 129s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 129s --errorlevel=ERRORLEVEL 129s show errorlevel as: none, message, exception, 129s traceback 129s -i INPUT, --input=INPUT 129s read from INPUT in po, pot formats 129s -x EXCLUDE, --exclude=EXCLUDE 129s exclude names matching EXCLUDE from input paths 129s -o OUTPUT, --output=OUTPUT 129s write to OUTPUT in xlf, xliff formats 129s -t TEMPLATE, --template=TEMPLATE 129s read from TEMPLATE in xlf, xliff formats 129s -S, --timestamp skip conversion if the output file has newer timestamp 129s ========= SMOKE TEST: /usr/bin/po2yaml =========== 129s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 129s 129s Convert Gettext PO localization files to YAML files. See: 129s http://docs.translatehouse.org/projects/translate- 129s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 129s 129s Options: 129s --version show program's version number and exit 129s -h, --help show this help message and exit 129s --manpage output a manpage based on the help 129s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 129s --errorlevel=ERRORLEVEL 129s show errorlevel as: none, message, exception, 129s traceback 129s -i INPUT, --input=INPUT 129s read from INPUT in po, pot formats 129s -x EXCLUDE, --exclude=EXCLUDE 129s exclude names matching EXCLUDE from input paths 129s -o OUTPUT, --output=OUTPUT 129s write to OUTPUT in yaml, yml formats 129s -t TEMPLATE, --template=TEMPLATE 129s read from TEMPLATE in yaml, yml formats 129s -S, --timestamp skip conversion if the output file has newer timestamp 129s --threshold=PERCENT only convert files where the translation completion is 129s above PERCENT 129s --fuzzy use translations marked fuzzy 129s --nofuzzy don't use translations marked fuzzy (default) 129s ========= SMOKE TEST: /usr/bin/poclean =========== 129s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 129s 129s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 129s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 129s produces the target file with only the target text in from a text version of 129s the RTF. 129s 129s Options: 129s --version show program's version number and exit 129s -h, --help show this help message and exit 129s --manpage output a manpage based on the help 129s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 129s --errorlevel=ERRORLEVEL 129s show errorlevel as: none, message, exception, 129s traceback 129s -i INPUT, --input=INPUT 129s read from INPUT in po, pot, xlf, xliff formats 129s -x EXCLUDE, --exclude=EXCLUDE 129s exclude names matching EXCLUDE from input paths 129s -o OUTPUT, --output=OUTPUT 129s write to OUTPUT in po, pot, xlf, xliff formats 129s -S, --timestamp skip conversion if the output file has newer timestamp 129s ========= SMOKE TEST: /usr/bin/pocompendium =========== 129s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 129s The first parameter is the output file, standard output if the output file is '-'. 129s Any number of directories may be specified for input files. 129s Options: 129s --invert|v Creates an inverse compendium with msgid and msgstr swapped 129s --errors|e Only output msg bundles that have errors 129s --correct|c Only output msg bundles that are correctly translated 129s --ignore-case|i Drops all strings to lowercase 129s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 129s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 129s --strip-accel-under|-su Strip all underscore (_) accelerator characters 129s ========= SMOKE TEST: /usr/bin/pocompile =========== 129s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 129s 129s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 129s Object) files. See: http://docs.translatehouse.org/projects/translate- 129s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 129s 129s Options: 129s --version show program's version number and exit 129s -h, --help show this help message and exit 129s --manpage output a manpage based on the help 129s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 129s --errorlevel=ERRORLEVEL 129s show errorlevel as: none, message, exception, 129s traceback 129s -i INPUT, --input=INPUT 129s read from INPUT in po, pot, xlf, xliff formats 129s -x EXCLUDE, --exclude=EXCLUDE 129s exclude names matching EXCLUDE from input paths 129s -o OUTPUT, --output=OUTPUT 129s write to OUTPUT in mo format 129s -S, --timestamp skip conversion if the output file has newer timestamp 129s --fuzzy use translations marked fuzzy 129s --nofuzzy don't use translations marked fuzzy (default) 129s ========= SMOKE TEST: /usr/bin/poconflicts =========== 130s 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] 130s poconflicts [options] 130s poconflicts [options] ... 130s 130s Input is searched for PO files, output directory will contain PO files named after conflicting strings. 130s Both -i/--input and -o/--output are optional when using positional arguments. 130s 130s Conflict finder for Gettext PO localization files. See: 130s http://docs.translatehouse.org/projects/translate- 130s toolkit/en/latest/commands/poconflicts.html for examples and usage 130s instructions. 130s 130s Options: 130s --version show program's version number and exit 130s -h, --help show this help message and exit 130s --manpage output a manpage based on the help 130s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 130s --errorlevel=ERRORLEVEL 130s show errorlevel as: none, message, exception, 130s traceback 130s -x EXCLUDE, --exclude=EXCLUDE 130s exclude names matching EXCLUDE from input paths 130s -i INPUT, --input=INPUT 130s read from INPUT (directory or file(s)) in po format 130s -o OUTPUT, --output=OUTPUT 130s write to OUTPUT (directory) in po format 130s -I, --ignore-case ignore case distinctions 130s -v, --invert invert the conflicts thus extracting conflicting 130s destination words 130s --accelerator=ACCELERATORS 130s ignores the given accelerator characters when matching 130s ========= SMOKE TEST: /usr/bin/pocount =========== 130s usage: pocount [-h] [--incomplete] [--full | --csv | --short | 130s --short-strings | --short-words] [--no-color] 130s files [files ...] 130s 130s positional arguments: 130s files 130s 130s options: 130s -h, --help show this help message and exit 130s --incomplete skip 100% translated files. 130s 130s Output format: 130s --full (default) statistics in full, verbose format 130s --csv statistics in CSV format 130s --short same as --short-strings 130s --short-strings statistics of strings in short format - one line per file 130s --short-words statistics of words in short format - one line per file 130s --no-color show output without color 130s ========= SMOKE TEST: /usr/bin/podebug =========== 130s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 130s 130s Insert debug messages into XLIFF and Gettext PO localization files. See: 130s http://docs.translatehouse.org/projects/translate- 130s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 130s 130s Options: 130s --version show program's version number and exit 130s -h, --help show this help message and exit 130s --manpage output a manpage based on the help 130s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 130s --errorlevel=ERRORLEVEL 130s show errorlevel as: none, message, exception, 130s traceback 130s -i INPUT, --input=INPUT 130s read from INPUT in po, pot, pot, tmx, xlf, xliff 130s formats 130s -x EXCLUDE, --exclude=EXCLUDE 130s exclude names matching EXCLUDE from input paths 130s -o OUTPUT, --output=OUTPUT 130s write to OUTPUT in po, pot, tmx, xlf, xliff formats 130s -S, --timestamp skip conversion if the output file has newer timestamp 130s -f FORMAT, --format=FORMAT 130s specify format string 130s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 130s classified, en, flipped, unicode, xxx 130s --ignore=APPLICATION apply tagging ignore rules for the given application: 130s gtk, kde, libreoffice, mozilla, openoffice 130s --preserveplaceholders 130s attempt to exclude characters that are part of 130s placeholders when performing character-level rewrites 130s so that consuming applications can still use the 130s placeholders to generate final output 130s ========= SMOKE TEST: /usr/bin/pofilter =========== 130s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 130s 130s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 130s Snippet files are created whenever a test fails. These can be examined, 130s corrected and merged back into the originals using pomerge. See: 130s http://docs.translatehouse.org/projects/translate- 130s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 130s and http://docs.translatehouse.org/projects/translate- 130s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 130s tests. 130s 130s Options: 130s --version show program's version number and exit 130s -h, --help show this help message and exit 130s --manpage output a manpage based on the help 130s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 130s --errorlevel=ERRORLEVEL 130s show errorlevel as: none, message, exception, 130s traceback 130s -i INPUT, --input=INPUT 130s read from INPUT in po, pot, tmx, xlf, xliff formats 130s -x EXCLUDE, --exclude=EXCLUDE 130s exclude names matching EXCLUDE from input paths 130s -o OUTPUT, --output=OUTPUT 130s write to OUTPUT in po, pot, tmx, xlf, xliff formats 130s -l, --listfilters list filters available 130s --review include units marked for review (default) 130s --noreview exclude units marked for review 130s --fuzzy include units marked fuzzy (default) 130s --nofuzzy exclude units marked fuzzy 130s --nonotes don't add notes about the errors 130s --autocorrect output automatic corrections where possible rather 130s than describing issues 130s --language=LANG set target language code (e.g. af-ZA) [required for 130s spell check and recommended in general] 130s --openoffice use the standard checks for OpenOffice translations 130s --libreoffice use the standard checks for LibreOffice translations 130s --mozilla use the standard checks for Mozilla translations 130s --drupal use the standard checks for Drupal translations 130s --gnome use the standard checks for Gnome translations 130s --kde use the standard checks for KDE translations 130s --wx use the standard checks for wxWidgets translations 130s --excludefilter=FILTER 130s don't use FILTER when filtering 130s -t FILTER, --test=FILTER 130s only use test FILTERs specified with this option when 130s filtering 130s --notranslatefile=FILE 130s read list of untranslatable words from FILE (must not 130s be translated) 130s --musttranslatefile=FILE 130s read list of translatable words from FILE (must be 130s translated) 130s --validcharsfile=FILE 130s read list of all valid characters from FILE (must be 130s in UTF-8) 130s ========= SMOKE TEST: /usr/bin/pogrep =========== 130s 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] 130s 130s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 130s snippet files of the same type which can then be reviewed and later merged 130s using :doc:`pomerge `. See: 130s http://docs.translatehouse.org/projects/translate- 130s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 130s 130s Options: 130s --version show program's version number and exit 130s -h, --help show this help message and exit 130s --manpage output a manpage based on the help 130s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 130s --errorlevel=ERRORLEVEL 130s show errorlevel as: none, message, exception, 130s traceback 130s -i INPUT, --input=INPUT 130s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 130s xliff formats 130s -x EXCLUDE, --exclude=EXCLUDE 130s exclude names matching EXCLUDE from input paths 130s -o OUTPUT, --output=OUTPUT 130s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 130s xliff formats 130s --search=SEARCHPARTS searches the given parts (source, target, notes and 130s locations) 130s -I, --ignore-case ignore case distinctions 130s -e, --regexp use regular expression matching 130s -v, --invert-match select non-matching lines 130s --accelerator=ACCELERATOR 130s ignores the given accelerator when matching 130s -k, --keep-translations 130s always extract units with translations 130s ========= SMOKE TEST: /usr/bin/pomerge =========== 130s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 130s 130s Merges XLIFF and Gettext PO localization files. Snippet file produced by 130s e.g. :doc:`pogrep ` and updated by a translator can be 130s merged back into the original files. See: 130s http://docs.translatehouse.org/projects/translate- 130s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 130s 130s Options: 130s --version show program's version number and exit 130s -h, --help show this help message and exit 130s --manpage output a manpage based on the help 130s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 130s --errorlevel=ERRORLEVEL 130s show errorlevel as: none, message, exception, 130s traceback 130s -i INPUT, --input=INPUT 130s read from INPUT in po, pot, pot, xlf, xliff formats 130s -x EXCLUDE, --exclude=EXCLUDE 130s exclude names matching EXCLUDE from input paths 130s -o OUTPUT, --output=OUTPUT 130s write to OUTPUT in po, pot, pot, xlf, xliff formats 130s -t TEMPLATE, --template=TEMPLATE 130s read from TEMPLATE in po, pot, pot, xlf, xliff formats 130s -S, --timestamp skip conversion if the output file has newer timestamp 130s --mergeblanks=MERGEBLANKS 130s whether to overwrite existing translations with blank 130s translations (yes/no). Default is yes. 130s --mergefuzzy=MERGEFUZZY 130s whether to consider fuzzy translations from input 130s (yes/no). Default is yes. 130s --mergecomments=MERGECOMMENTS 130s whether to merge comments as well as translations 130s (yes/no). Default is yes. 130s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 130s Usage pomigrate2 [options] 130s 130s Options: 130s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 130s -C|--use-compendium - create and use a compendium built from the migrating files 130s -C|--use-compendium=some-compendium.po 130s - use an external compendium during the migration 130s --no-wrap - do not wrap long lines 130s --locale=lang - set locale for newly born files 130s -q|--quiet - suppress most output 130s -p|--pot2po - use pot2po instead of msgmerge to migrate 130s ========= SMOKE TEST: /usr/bin/popuretext =========== 130s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 130s ========= SMOKE TEST: /usr/bin/poreencode =========== 130s Usage: poreencode 130s eg: poreencode UTF-8 af/ 130s ========= SMOKE TEST: /usr/bin/porestructure =========== 130s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 130s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 130s 130s Restructure Gettxt PO files produced by :doc:`poconflicts 130s ` into the original directory tree for merging using 130s :doc:`pomerge `. See: 130s http://docs.translatehouse.org/projects/translate- 130s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 130s 130s Options: 130s --version show program's version number and exit 130s -h, --help show this help message and exit 130s --manpage output a manpage based on the help 130s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 130s --errorlevel=ERRORLEVEL 130s show errorlevel as: none, message, exception, 130s traceback 130s -i INPUT, --input=INPUT 130s read from INPUT in po format 130s -x EXCLUDE, --exclude=EXCLUDE 130s exclude names matching EXCLUDE from input paths 130s -o OUTPUT, --output=OUTPUT 130s write to OUTPUT in po format 130s ========= SMOKE TEST: /usr/bin/posegment =========== 130s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 130s 130s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 130s See: http://docs.translatehouse.org/projects/translate- 130s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 130s 130s Options: 130s --version show program's version number and exit 130s -h, --help show this help message and exit 130s --manpage output a manpage based on the help 130s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 130s --errorlevel=ERRORLEVEL 130s show errorlevel as: none, message, exception, 130s traceback 130s -i INPUT, --input=INPUT 130s read from INPUT in po, pot, tmx, xlf, xliff formats 130s -x EXCLUDE, --exclude=EXCLUDE 130s exclude names matching EXCLUDE from input paths 130s -o OUTPUT, --output=OUTPUT 130s write to OUTPUT in po, pot, tmx, xlf, xliff formats 130s -S, --timestamp skip conversion if the output file has newer timestamp 130s -P, --pot output PO Templates (.pot) rather than PO files (.po) 130s -l LANG, --language=LANG 130s the target language code 130s --source-language=LANG 130s the source language code (default 'en') 130s --keepspaces Disable automatic stripping of whitespace 130s --only-aligned Removes units where sentence number does not 130s correspond 131s ========= SMOKE TEST: /usr/bin/poswap =========== 131s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 131s 131s Builds a new translation file with the target of the input language as source 131s language. .. note:: Ensure that the two po files correspond 100% to the same 131s pot file before using this. To translate Kurdish (ku) through French:: 131s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 131s poswap --reverse -i fr/ -t fr-ku -o en-ku To translate Quechua (qu) through 131s Spanish (es) using intermediate mode:: poswap --intermediate -t en/ es/ 131s es-qu/ Intermediate mode keeps the original source language (English) and 131s adds the intermediate language translation (Spanish) as a translator comment, 131s making it easier to translate through an intermediate language while keeping 131s both languages visible. See: 131s http://docs.translatehouse.org/projects/translate- 131s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 131s 131s Options: 131s --version show program's version number and exit 131s -h, --help show this help message and exit 131s --manpage output a manpage based on the help 131s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 131s --errorlevel=ERRORLEVEL 131s show errorlevel as: none, message, exception, 131s traceback 131s -i INPUT, --input=INPUT 131s read from INPUT in po, pot formats 131s -x EXCLUDE, --exclude=EXCLUDE 131s exclude names matching EXCLUDE from input paths 131s -o OUTPUT, --output=OUTPUT 131s write to OUTPUT in po, pot formats 131s -t TEMPLATE, --template=TEMPLATE 131s read from TEMPLATE in po, pot, pot formats 131s -S, --timestamp skip conversion if the output file has newer timestamp 131s --reverse reverse the process of intermediate language 131s conversion 131s --intermediate use intermediate language mode: keep original source 131s and add target as translator comment 131s ========= SMOKE TEST: /usr/bin/pot2po =========== 131s 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] 131s 131s Convert template files (like .pot or template .xlf files) to translation 131s files, preserving existing translations. See: 131s http://docs.translatehouse.org/projects/translate- 131s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 131s 131s Options: 131s --version show program's version number and exit 131s -h, --help show this help message and exit 131s --manpage output a manpage based on the help 131s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 131s --errorlevel=ERRORLEVEL 131s show errorlevel as: none, message, exception, 131s traceback 131s -i INPUT, --input=INPUT 131s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 131s formats 131s -x EXCLUDE, --exclude=EXCLUDE 131s exclude names matching EXCLUDE from input paths 131s -o OUTPUT, --output=OUTPUT 131s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 131s xliff formats 131s -t TEMPLATE, --template=TEMPLATE 131s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 131s xliff formats 131s -S, --timestamp skip conversion if the output file has newer timestamp 131s -P, --pot output PO Templates (.pot) rather than PO files (.po) 131s --tm=TM The file to use as translation memory when fuzzy 131s matching 131s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 131s The minimum similarity for inclusion (default: 75%) 131s --nofuzzymatching Disable fuzzy matching 131s ========= SMOKE TEST: /usr/bin/poterminology =========== 131s 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] 131s input directory is searched for PO files, terminology PO file is output file 131s 131s Create a terminology file by reading a set of .po or .pot files to produce a 131s pootle-terminology.pot. See: 131s http://docs.translatehouse.org/projects/translate- 131s toolkit/en/latest/commands/poterminology.html for examples and usage 131s instructions. 131s 131s Options: 131s --version show program's version number and exit 131s -h, --help show this help message and exit 131s --manpage output a manpage based on the help 131s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 131s --errorlevel=ERRORLEVEL 131s show errorlevel as: none, message, exception, 131s traceback 131s -i INPUT, --input=INPUT 131s read from INPUT in po, pot formats 131s -x EXCLUDE, --exclude=EXCLUDE 131s exclude names matching EXCLUDE from input paths 131s -o OUTPUT, --output=OUTPUT 131s write to OUTPUT in po, pot formats 131s -u UPDATEFILE, --update=UPDATEFILE 131s update terminology in UPDATEFILE 131s -S STOPFILE, --stopword-list=STOPFILE 131s read stopword (term exclusion) list from STOPFILE 131s (default /usr/lib/python3/dist- 131s packages/translate/share/stoplist-en) 131s -F, --fold-titlecase fold "Title Case" to lowercase (default) 131s -C, --preserve-case preserve all uppercase/lowercase 131s -I, --ignore-case make all terms lowercase 131s --accelerator=ACCELERATORS 131s ignore the given accelerator characters when matching 131s -t LENGTH, --term-words=LENGTH 131s generate terms of up to LENGTH words (default 3) 131s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 131s 1) 131s --inputs-needed=MIN omit terms appearing in less than MIN input files 131s (default 2, or 1 if only one input file) 131s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 131s different messages (default 1) 131s --substr-needed=MIN omit substring-only terms appearing in less than MIN 131s different messages (default 2) 131s --locs-needed=MIN omit terms appearing in less than MIN different 131s original source files (default 2) 131s --sort=ORDER output sort order(s): frequency, dictionary, length 131s (may repeat option, default is all in above order) 131s --source-language=LANG 131s the source language code (default 'en') 131s -v, --invert invert the source and target languages for terminology 131s ========= SMOKE TEST: /usr/bin/pretranslate =========== 131s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 131s 131s Fill localization files with suggested translations based on translation 131s memory and existing translations. See: 131s http://docs.translatehouse.org/projects/translate- 131s toolkit/en/latest/commands/pretranslate.html for examples and usage 131s instructions. 131s 131s Options: 131s --version show program's version number and exit 131s -h, --help show this help message and exit 131s --manpage output a manpage based on the help 131s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 131s --errorlevel=ERRORLEVEL 131s show errorlevel as: none, message, exception, 131s traceback 131s -i INPUT, --input=INPUT 131s read from INPUT in po, pot, pot, xlf, xliff formats 131s -x EXCLUDE, --exclude=EXCLUDE 131s exclude names matching EXCLUDE from input paths 131s -o OUTPUT, --output=OUTPUT 131s write to OUTPUT in po, pot, xlf, xliff formats 131s -t TEMPLATE, --template=TEMPLATE 131s read from TEMPLATE in po, pot, xlf, xliff formats 131s -S, --timestamp skip conversion if the output file has newer timestamp 131s --tm=TM The file to use as translation memory when fuzzy 131s matching 131s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 131s The minimum similarity for inclusion (default: 75%) 131s --nofuzzymatching Disable fuzzy matching 131s ========= SMOKE TEST: /usr/bin/prop2po =========== 131s 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] 131s 131s Convert Java/Mozilla .properties files to Gettext PO localization files. 131s See: http://docs.translatehouse.org/projects/translate- 131s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 131s 131s Options: 131s --version show program's version number and exit 131s -h, --help show this help message and exit 131s --manpage output a manpage based on the help 131s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 131s --errorlevel=ERRORLEVEL 131s show errorlevel as: none, message, exception, 131s traceback 131s -i INPUT, --input=INPUT 131s read from INPUT in lang, properties, strings formats 131s -x EXCLUDE, --exclude=EXCLUDE 131s exclude names matching EXCLUDE from input paths 131s -o OUTPUT, --output=OUTPUT 131s write to OUTPUT in po, pot formats 131s -t TEMPLATE, --template=TEMPLATE 131s read from TEMPLATE in lang, properties, strings 131s formats 131s -S, --timestamp skip conversion if the output file has newer timestamp 131s -P, --pot output PO Templates (.pot) rather than PO files (.po) 131s --personality=TYPE override the input file format: java, java-utf8, java- 131s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 131s strings, strings-utf8, joomla (for .properties files, 131s default: java) 131s --encoding=ENCODING override the encoding set by the personality 131s --duplicates=DUPLICATESTYLE 131s what to do with duplicate strings (identical source 131s text): merge, msgctxt (default: 'msgctxt') 131s ========= SMOKE TEST: /usr/bin/pydiff =========== 131s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 131s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 131s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 131s fromfile tofile 131s 131s positional arguments: 131s fromfile 131s tofile 131s 131s options: 131s -h, --help show this help message and exit 131s -i, --ignore-case Ignore case differences in file contents. 131s -U, --unified NUM Output NUM (default 3) lines of unified context 131s -r, --recursive Recursively compare any subdirectories found. 131s -N, --new-file Treat absent files as empty. 131s --unidirectional-new-file 131s Treat absent first files as empty. 131s -s, --report-identical-files 131s Report when two files are the same. 131s -x, --exclude PAT Exclude files that match PAT. 131s --fromcontains TEXT Only show changes where fromfile contains TEXT 131s --tocontains TEXT Only show changes where tofile contains TEXT 131s --contains TEXT Only show changes where fromfile or tofile contains 131s TEXT 131s -I, --ignore-case-contains 131s Ignore case differences when matching any of the 131s changes 131s --accelerator ACCELERATORS 131s ignores the given accelerator characters when matching 131s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 131s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 131s 131s Convert Python format .po files to PHP format .po files. 131s 131s Options: 131s --version show program's version number and exit 131s -h, --help show this help message and exit 131s --manpage output a manpage based on the help 131s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 131s --errorlevel=ERRORLEVEL 131s show errorlevel as: none, message, exception, 131s traceback 131s -i INPUT, --input=INPUT 131s read from INPUT in po, pot formats 131s -x EXCLUDE, --exclude=EXCLUDE 131s exclude names matching EXCLUDE from input paths 131s -o OUTPUT, --output=OUTPUT 131s write to OUTPUT in po, pot formats 131s -S, --timestamp skip conversion if the output file has newer timestamp 132s ========= SMOKE TEST: /usr/bin/rc2po =========== 132s 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] 132s 132s Convert Windows RC files to Gettext PO localization files. See: 132s http://docs.translatehouse.org/projects/translate- 132s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 132s 132s Options: 132s --version show program's version number and exit 132s -h, --help show this help message and exit 132s --manpage output a manpage based on the help 132s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 132s --errorlevel=ERRORLEVEL 132s show errorlevel as: none, message, exception, 132s traceback 132s -i INPUT, --input=INPUT 132s read from INPUT in nls, rc formats 132s -x EXCLUDE, --exclude=EXCLUDE 132s exclude names matching EXCLUDE from input paths 132s -o OUTPUT, --output=OUTPUT 132s write to OUTPUT in po, pot formats 132s -t TEMPLATE, --template=TEMPLATE 132s read from TEMPLATE in nls, rc formats 132s -S, --timestamp skip conversion if the output file has newer timestamp 132s -P, --pot output PO Templates (.pot) rather than PO files (.po) 132s --charset=CHARSET charset to use to decode the RC files (autodetection 132s is used by default) 132s -l LANG, --lang=LANG LANG entry (default: None) 132s --sublang=SUBLANG SUBLANG entry (default: None) 132s --duplicates=DUPLICATESTYLE 132s what to do with duplicate strings (identical source 132s text): merge, msgctxt (default: 'msgctxt') 132s ========= SMOKE TEST: /usr/bin/resx2po =========== 132s 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] 132s 132s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 132s http://docs.translatehouse.org/projects/translate- 132s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 132s 132s Options: 132s --version show program's version number and exit 132s -h, --help show this help message and exit 132s --manpage output a manpage based on the help 132s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 132s --errorlevel=ERRORLEVEL 132s show errorlevel as: none, message, exception, 132s traceback 132s -i INPUT, --input=INPUT 132s read from INPUT in resx format 132s -x EXCLUDE, --exclude=EXCLUDE 132s exclude names matching EXCLUDE from input paths 132s -o OUTPUT, --output=OUTPUT 132s write to OUTPUT in po, pot formats 132s -t TEMPLATE, --template=TEMPLATE 132s read from TEMPLATE in resx format 132s -S, --timestamp skip conversion if the output file has newer timestamp 132s -P, --pot output PO Templates (.pot) rather than PO files (.po) 132s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 132s everything) 132s --duplicates=DUPLICATESTYLE 132s what to do with duplicate strings (identical source 132s text): merge, msgctxt (default: 'msgctxt') 132s ========= SMOKE TEST: /usr/bin/sub2po =========== 132s 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] 132s 132s Convert subtitle files to Gettext PO localization files. See: 132s http://docs.translatehouse.org/projects/translate- 132s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 132s 132s Options: 132s --version show program's version number and exit 132s -h, --help show this help message and exit 132s --manpage output a manpage based on the help 132s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 132s --errorlevel=ERRORLEVEL 132s show errorlevel as: none, message, exception, 132s traceback 132s -i INPUT, --input=INPUT 132s read from INPUT in ass, srt, ssa, sub formats 132s -x EXCLUDE, --exclude=EXCLUDE 132s exclude names matching EXCLUDE from input paths 132s -o OUTPUT, --output=OUTPUT 132s write to OUTPUT in po, pot formats 132s -t TEMPLATE, --template=TEMPLATE 132s read from TEMPLATE in ass, srt, ssa, sub formats 132s -S, --timestamp skip conversion if the output file has newer timestamp 132s -P, --pot output PO Templates (.pot) rather than PO files (.po) 132s --duplicates=DUPLICATESTYLE 132s what to do with duplicate strings (identical source 132s text): merge, msgctxt (default: 'msgctxt') 132s ========= SMOKE TEST: /usr/bin/symb2po =========== 132s 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] 132s 132s Convert Symbian localisation files to Gettext PO localization files. See: 132s http://docs.translatehouse.org/projects/translate- 132s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 132s 132s Options: 132s --version show program's version number and exit 132s -h, --help show this help message and exit 132s --manpage output a manpage based on the help 132s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 132s --errorlevel=ERRORLEVEL 132s show errorlevel as: none, message, exception, 132s traceback 132s -i INPUT, --input=INPUT 132s read from INPUT in r01 format 132s -x EXCLUDE, --exclude=EXCLUDE 132s exclude names matching EXCLUDE from input paths 132s -o OUTPUT, --output=OUTPUT 132s write to OUTPUT in po, pot formats 132s -t TEMPLATE, --template=TEMPLATE 132s read from TEMPLATE in 132s -S, --timestamp skip conversion if the output file has newer timestamp 132s -P, --pot output PO Templates (.pot) rather than PO files (.po) 132s --duplicates=DUPLICATESTYLE 132s what to do with duplicate strings (identical source 132s text): merge, msgctxt (default: 'msgctxt') 132s ========= SMOKE TEST: /usr/bin/tbx2po =========== 132s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 132s 132s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 132s http://docs.translatehouse.org/projects/translate- 132s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 132s 132s Options: 132s --version show program's version number and exit 132s -h, --help show this help message and exit 132s --manpage output a manpage based on the help 132s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 132s --errorlevel=ERRORLEVEL 132s show errorlevel as: none, message, exception, 132s traceback 132s -i INPUT, --input=INPUT 132s read from INPUT in tbx format 132s -x EXCLUDE, --exclude=EXCLUDE 132s exclude names matching EXCLUDE from input paths 132s -o OUTPUT, --output=OUTPUT 132s write to OUTPUT in po, pot formats 132s -S, --timestamp skip conversion if the output file has newer timestamp 132s ========= SMOKE TEST: /usr/bin/tiki2po =========== 132s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 132s 132s Convert TikiWiki's language.php files to Gettext PO localization files. See: 132s http://docs.translatehouse.org/projects/translate- 132s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 132s 132s Options: 132s --version show program's version number and exit 132s -h, --help show this help message and exit 132s --manpage output a manpage based on the help 132s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 132s --errorlevel=ERRORLEVEL 132s show errorlevel as: none, message, exception, 132s traceback 132s -i INPUT, --input=INPUT 132s read from INPUT in php format 132s -x EXCLUDE, --exclude=EXCLUDE 132s exclude names matching EXCLUDE from input paths 132s -o OUTPUT, --output=OUTPUT 132s write to OUTPUT in po, pot formats 132s -S, --timestamp skip conversion if the output file has newer timestamp 132s --include-unused Include strings in the unused section 133s ========= SMOKE TEST: /usr/bin/tmserver =========== 133s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 133s [-s SOURCE_LANG] [-b BIND] [-p PORT] 133s [--max-candidates MAX_CANDIDATES] 133s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 133s [--debug] 133s 133s options: 133s -h, --help show this help message and exit 133s -d, --tmdb TMDBFILE translation memory database file 133s -f, --import-translation-file TMFILES 133s translation file to import into the database 133s -t, --import-target-lang TARGET_LANG 133s target language of translation files 133s -s, --import-source-lang SOURCE_LANG 133s source language of translation files 133s -b, --bind BIND address to bind server to (default: localhost) 133s -p, --port PORT port to listen on (default: 8888) 133s --max-candidates MAX_CANDIDATES 133s Maximum number of candidates 133s --min-similarity MIN_SIMILARITY 133s minimum similarity 133s --max-length MAX_LENGTH 133s Maximum string length 133s --debug enable debugging features 133s ========= SMOKE TEST: /usr/bin/toml2po =========== 133s 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] 133s 133s Convert TOML files to Gettext PO localization files. See: 133s http://docs.translatehouse.org/projects/translate- 133s toolkit/en/latest/commands/toml2po.html for examples and usage instructions. 133s 133s Options: 133s --version show program's version number and exit 133s -h, --help show this help message and exit 133s --manpage output a manpage based on the help 133s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 133s --errorlevel=ERRORLEVEL 133s show errorlevel as: none, message, exception, 133s traceback 133s -i INPUT, --input=INPUT 133s read from INPUT in toml format 133s -x EXCLUDE, --exclude=EXCLUDE 133s exclude names matching EXCLUDE from input paths 133s -o OUTPUT, --output=OUTPUT 133s write to OUTPUT in po, pot formats 133s -t TEMPLATE, --template=TEMPLATE 133s read from TEMPLATE in toml format 133s -S, --timestamp skip conversion if the output file has newer timestamp 133s -P, --pot output PO Templates (.pot) rather than PO files (.po) 133s --duplicates=DUPLICATESTYLE 133s what to do with duplicate strings (identical source 133s text): merge, msgctxt (default: 'msgctxt') 133s ========= SMOKE TEST: /usr/bin/ts2po =========== 133s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 133s 133s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 133s http://docs.translatehouse.org/projects/translate- 133s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 133s 133s Options: 133s --version show program's version number and exit 133s -h, --help show this help message and exit 133s --manpage output a manpage based on the help 133s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 133s --errorlevel=ERRORLEVEL 133s show errorlevel as: none, message, exception, 133s traceback 133s -i INPUT, --input=INPUT 133s read from INPUT in ts format 133s -x EXCLUDE, --exclude=EXCLUDE 133s exclude names matching EXCLUDE from input paths 133s -o OUTPUT, --output=OUTPUT 133s write to OUTPUT in po, pot formats 133s -S, --timestamp skip conversion if the output file has newer timestamp 133s -P, --pot output PO Templates (.pot) rather than PO files (.po) 133s --duplicates=DUPLICATESTYLE 133s what to do with duplicate strings (identical source 133s text): merge, msgctxt (default: 'msgctxt') 133s ========= SMOKE TEST: /usr/bin/txt2po =========== 133s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 133s 133s Convert plain text (.txt) files to Gettext PO localization files. See: 133s http://docs.translatehouse.org/projects/translate- 133s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 133s 133s Options: 133s --version show program's version number and exit 133s -h, --help show this help message and exit 133s --manpage output a manpage based on the help 133s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 133s --errorlevel=ERRORLEVEL 133s show errorlevel as: none, message, exception, 133s traceback 133s -i INPUT, --input=INPUT 133s read from INPUT in *, txt formats 133s -x EXCLUDE, --exclude=EXCLUDE 133s exclude names matching EXCLUDE from input paths 133s -o OUTPUT, --output=OUTPUT 133s write to OUTPUT in po, pot formats 133s -S, --timestamp skip conversion if the output file has newer timestamp 133s -P, --pot output PO Templates (.pot) rather than PO files (.po) 133s --encoding=ENCODING The encoding of the input file (default: UTF-8) 133s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 133s mediawiki 133s --no-segmentation Don't segment the file, treat it like a single message 133s --duplicates=DUPLICATESTYLE 133s what to do with duplicate strings (identical source 133s text): merge, msgctxt (default: 'msgctxt') 133s ========= SMOKE TEST: /usr/bin/web2py2po =========== 133s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 133s 133s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 133s http://docs.translatehouse.org/projects/translate- 133s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 133s 133s Options: 133s --version show program's version number and exit 133s -h, --help show this help message and exit 133s --manpage output a manpage based on the help 133s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 133s --errorlevel=ERRORLEVEL 133s show errorlevel as: none, message, exception, 133s traceback 133s -i INPUT, --input=INPUT 133s read from INPUT in py format 133s -x EXCLUDE, --exclude=EXCLUDE 133s exclude names matching EXCLUDE from input paths 133s -o OUTPUT, --output=OUTPUT 133s write to OUTPUT in po, pot formats 133s -S, --timestamp skip conversion if the output file has newer timestamp 133s -P, --pot output PO Templates (.pot) rather than PO files (.po) 133s --duplicates=DUPLICATESTYLE 133s what to do with duplicate strings (identical source 133s text): merge, msgctxt (default: 'msgctxt') 133s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 133s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 133s 133s Convert XLIFF translation files to OpenDocument (ODF) files. See: 133s http://docs.translatehouse.org/projects/translate- 133s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 133s 133s Options: 133s --version show program's version number and exit 133s -h, --help show this help message and exit 133s --manpage output a manpage based on the help 133s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 133s --errorlevel=ERRORLEVEL 133s show errorlevel as: none, message, exception, 133s traceback 133s -i INPUT, --input=INPUT 133s read from INPUT in xlf format 133s -x EXCLUDE, --exclude=EXCLUDE 133s exclude names matching EXCLUDE from input paths 133s -o OUTPUT, --output=OUTPUT 133s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 133s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 133s -t TEMPLATE, --template=TEMPLATE 133s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 133s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 133s formats 133s -S, --timestamp skip conversion if the output file has newer timestamp 134s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 134s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 134s 134s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 134s file. See: http://docs.translatehouse.org/projects/translate- 134s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 134s 134s Options: 134s --version show program's version number and exit 134s -h, --help show this help message and exit 134s --manpage output a manpage based on the help 134s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 134s --errorlevel=ERRORLEVEL 134s show errorlevel as: none, message, exception, 134s traceback 134s -i INPUT, --input=INPUT 134s read from INPUT in po, pot, xlf, xliff formats 134s -x EXCLUDE, --exclude=EXCLUDE 134s exclude names matching EXCLUDE from input paths 134s -o OUTPUT, --output=OUTPUT 134s write to OUTPUT in oo, sdf formats 134s -t TEMPLATE, --template=TEMPLATE 134s read from TEMPLATE in oo, sdf formats 134s -S, --timestamp skip conversion if the output file has newer timestamp 134s -l LANG, --language=LANG 134s set target language code (e.g. af-ZA) [required] 134s --source-language=LANG 134s set source language code (default en-US) 134s -T, --keeptimestamp don't change the timestamps of the strings 134s --nonrecursiveoutput don't treat the output oo as a recursive store 134s --nonrecursivetemplate 134s don't treat the template oo as a recursive store 134s --skipsource don't output the source language, but fallback to it 134s where needed 134s --filteraction=ACTION 134s action on pofilter failure: none (default), warn, 134s exclude-serious, exclude-all 134s --fuzzy use translations marked fuzzy 134s --nofuzzy don't use translations marked fuzzy (default) 134s --multifile=MULTIFILESTYLE 134s how to split po/pot files (single, toplevel or 134s onefile) 134s ========= SMOKE TEST: /usr/bin/xliff2po =========== 134s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 134s 134s Convert XLIFF localization files to Gettext PO localization files. See: 134s http://docs.translatehouse.org/projects/translate- 134s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 134s 134s Options: 134s --version show program's version number and exit 134s -h, --help show this help message and exit 134s --manpage output a manpage based on the help 134s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 134s --errorlevel=ERRORLEVEL 134s show errorlevel as: none, message, exception, 134s traceback 134s -i INPUT, --input=INPUT 134s read from INPUT in xlf, xliff formats 134s -x EXCLUDE, --exclude=EXCLUDE 134s exclude names matching EXCLUDE from input paths 134s -o OUTPUT, --output=OUTPUT 134s write to OUTPUT in po, pot formats 134s -S, --timestamp skip conversion if the output file has newer timestamp 134s -P, --pot output PO Templates (.pot) rather than PO files (.po) 134s --duplicates=DUPLICATESTYLE 134s what to do with duplicate strings (identical source 134s text): merge, msgctxt (default: 'msgctxt') 134s ========= SMOKE TEST: /usr/bin/yaml2po =========== 134s 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] 134s 134s Convert YAML files to Gettext PO localization files. See: 134s http://docs.translatehouse.org/projects/translate- 134s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 134s 134s Options: 134s --version show program's version number and exit 134s -h, --help show this help message and exit 134s --manpage output a manpage based on the help 134s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 134s --errorlevel=ERRORLEVEL 134s show errorlevel as: none, message, exception, 134s traceback 134s -i INPUT, --input=INPUT 134s read from INPUT in yaml, yml formats 134s -x EXCLUDE, --exclude=EXCLUDE 134s exclude names matching EXCLUDE from input paths 134s -o OUTPUT, --output=OUTPUT 134s write to OUTPUT in po, pot formats 134s -t TEMPLATE, --template=TEMPLATE 134s read from TEMPLATE in yaml, yml formats 134s -S, --timestamp skip conversion if the output file has newer timestamp 134s -P, --pot output PO Templates (.pot) rather than PO files (.po) 134s --duplicates=DUPLICATESTYLE 134s what to do with duplicate strings (identical source 134s text): merge, msgctxt (default: 'msgctxt') 134s autopkgtest [06:11:25]: test translate-toolkit: -----------------------] 135s autopkgtest [06:11:26]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 135s translate-toolkit PASS 135s autopkgtest [06:11:26]: test python3-translate: preparing testbed 142s Creating nova instance adt-resolute-ppc64el-translate-toolkit-20260130-060910-juju-7f2275-prod-proposed-migration-environment-20-64f04fde-c3da-4de1-92d5-8666d8976d7e from image adt/ubuntu-resolute-ppc64el-server-20260129.img (UUID 011be5ba-3d23-459d-9a9a-537803b22566)... 152s nova [E] nova boot failed (attempt #0): 152s nova [E] DEBUG (extension:189) found extension EntryPoint.parse('v1password = swiftclient.authv1:PasswordLoader') 152s DEBUG (extension:189) found extension EntryPoint.parse('noauth = cinderclient.contrib.noauth:CinderNoAuthLoader') 152s DEBUG (extension:189) found extension EntryPoint.parse('admin_token = keystoneauth1.loading._plugins.admin_token:AdminToken') 152s DEBUG (extension:189) found extension EntryPoint.parse('none = keystoneauth1.loading._plugins.noauth:NoAuth') 152s DEBUG (extension:189) found extension EntryPoint.parse('password = keystoneauth1.loading._plugins.identity.generic:Password') 152s DEBUG (extension:189) found extension EntryPoint.parse('token = keystoneauth1.loading._plugins.identity.generic:Token') 152s DEBUG (extension:189) found extension EntryPoint.parse('v2password = keystoneauth1.loading._plugins.identity.v2:Password') 152s DEBUG (extension:189) found extension EntryPoint.parse('v2token = keystoneauth1.loading._plugins.identity.v2:Token') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3adfspassword = keystoneauth1.extras._saml2._loading:ADFSPassword') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3applicationcredential = keystoneauth1.loading._plugins.identity.v3:ApplicationCredential') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3fedkerb = keystoneauth1.extras.kerberos._loading:MappedKerberos') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3kerberos = keystoneauth1.extras.kerberos._loading:Kerberos') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3multifactor = keystoneauth1.loading._plugins.identity.v3:MultiFactor') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3oauth1 = keystoneauth1.extras.oauth1._loading:V3OAuth1') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcaccesstoken = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectAccessToken') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcauthcode = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectAuthorizationCode') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcclientcredentials = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectClientCredentials') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcpassword = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectPassword') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3password = keystoneauth1.loading._plugins.identity.v3:Password') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3samlpassword = keystoneauth1.extras._saml2._loading:Saml2Password') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3token = keystoneauth1.loading._plugins.identity.v3:Token') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3tokenlessauth = keystoneauth1.loading._plugins.identity.v3:TokenlessAuth') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3totp = keystoneauth1.loading._plugins.identity.v3:TOTP') 152s DEBUG (session:517) REQ: curl -g -i -X GET https://keystone.ps7.canonical.com:5000/v3 -H "Accept: application/json" -H "User-Agent: nova keystoneauth1/4.0.0 python-requests/2.22.0 CPython/3.8.10" 152s DEBUG (connectionpool:939) Starting new HTTPS connection (1): keystone.ps7.canonical.com:5000 152s DEBUG (connectionpool:429) https://keystone.ps7.canonical.com:5000 "GET /v3 HTTP/1.1" 200 267 152s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 267 Content-Type: application/json Date: Fri, 30 Jan 2026 06:11:36 GMT Keep-Alive: timeout=75, max=1000 Server: Apache/2.4.52 (Ubuntu) Vary: X-Auth-Token x-openstack-request-id: req-4f7e9338-8616-4b13-b507-e46b6f2c5318 152s DEBUG (session:580) RESP BODY: {"version": {"id": "v3.14", "status": "stable", "updated": "2020-04-07T00:00:00Z", "links": [{"rel": "self", "href": "https://keystone.ps7.canonical.com:5000/v3/"}], "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}]}} 152s DEBUG (session:946) GET call to https://keystone.ps7.canonical.com:5000/v3 used request id req-4f7e9338-8616-4b13-b507-e46b6f2c5318 152s DEBUG (base:182) Making authentication request to https://keystone.ps7.canonical.com:5000/v3/auth/tokens 152s DEBUG (connectionpool:429) https://keystone.ps7.canonical.com:5000 "POST /v3/auth/tokens HTTP/1.1" 201 12966 152s DEBUG (base:187) {"token": {"methods": ["password"], "user": {"domain": {"id": "default", "name": "Default"}, "id": "20f4f30c2cfd4bfe806cd0db10c0e446", "name": "prod-autopkgtest-workers-ppc64el", "password_expires_at": null}, "audit_ids": ["fGp5vqhtSvi1a7KG3yhfUg"], "expires_at": "2026-01-31T06:11:36.000000Z", "issued_at": "2026-01-30T06:11:36.000000Z", "project": {"domain": {"id": "default", "name": "Default"}, "id": "9bf77f46fd6c4d3da81ee79a717acf43", "name": "prod-autopkgtest-workers-ppc64el_project"}, "is_domain": false, "roles": [{"id": "a31fb543f37543d3b12c7fcb6e29636f", "name": "load-balancer_member"}, {"id": "9531825e299647e9b8713fcf36566f08", "name": "member"}, {"id": "c4de4cd4a6e842c48c193225243b4507", "name": "reader"}], "is_admin_project": false, "catalog": [{"endpoints": [{"id": "09e03191c89d4421aebaa8dcff0e22e3", "interface": "admin", "region_id": "prodstack7", "url": "https://heat-admin.ps7.canonical.com:8004/v1/9bf77f46fd6c4d3da81ee79a717acf43", "region": "prodstack7"}, {"id": "0b44af32db1b408da5b67a834350711b", "interface": "internal", "region_id": "prodstack7", "url": "https://heat-internal.ps7.canonical.com:8004/v1/9bf77f46fd6c4d3da81ee79a717acf43", "region": "prodstack7"}, {"id": "325f3c044aa54591be49e39f7260483d", "interface": "public", "region_id": "prodstack7", "url": "https://heat.ps7.canonical.com:8004/v1/9bf77f46fd6c4d3da81ee79a717acf43", "region": "prodstack7"}], "id": "07902f28d63c4792bef57723f11a597e", "type": "orchestration", "name": "heat"}, {"endpoints": [{"id": "296a5126b56949f8abc8663ba48d7c69", "interface": "admin", "region_id": "prodstack7", "url": "https://nova-admin.ps7.canonical.com:8774/v2.1", "region": "prodstack7"}, {"id": "4ed46fd286814be9ad5f53c713db2b21", "interface": "public", "region_id": "prodstack7", "url": "https://nova.ps7.canonical.com:8774/v2.1", "region": "prodstack7"}, {"id": "f920fb8274c74c72b50e57ac95f88f51", "interface": "internal", "region_id": "prodstack7", "url": "https://nova-internal.ps7.canonical.com:8774/v2.1", "region": "prodstack7"}], "id": "0f4ee03d0c134dceb7ed6b2fa51eb189", "type": "compute", "name": "nova"}, {"endpoints": [{"id": "074ea936d15d47e8ba1b8f1347fdaeec", "interface": "admin", "region_id": "prodstack7", "url": "https://neutron-admin.ps7.canonical.com:9696", "region": "prodstack7"}, {"id": "4d5667208af943eab425bb1952f67d2f", "interface": "public", "region_id": "prodstack7", "url": "https://neutron.ps7.canonical.com:9696", "region": "prodstack7"}, {"id": "ae71a7dd75fc495fa3dd207ac977346d", "interface": "internal", "region_id": "prodstack7", "url": "https://neutron-internal.ps7.canonical.com:9696", "region": "prodstack7"}], "id": "1fde991012bf4a91a97b5b02cd662e5d", "type": "network", "name": "neutron"}, {"endpoints": [{"id": "5f3171f69df346c9a40ff13f8a9f3feb", "interface": "public", "region_id": "prodstack7", "url": "https://heat.ps7.canonical.com:8000/v1", "region": "prodstack7"}, {"id": "951c2c04417d456eb29a4cbd2675f1bc", "interface": "internal", "region_id": "prodstack7", "url": "https://heat-internal.ps7.canonical.com:8000/v1", "region": "prodstack7"}, {"id": "e4062e144ad243cbb53c8ce87aefee44", "interface": "admin", "region_id": "prodstack7", "url": "https://heat-admin.ps7.canonical.com:8000/v1", "region": "prodstack7"}], "id": "2c59c0123c304ef3824d75e9779ac5a3", "type": "cloudformation", "name": "heat-cfn"}, {"endpoints": [{"id": "4a95fbf112804721b96a3578858faf45", "interface": "internal", "region_id": "prodstack7", "url": "https://octavia-internal.ps7.canonical.com:9876", "region": "prodstack7"}, {"id": "56bed7c3efd54a57bae11cc93844edc5", "interface": "public", "region_id": "prodstack7", "url": "https://octavia.ps7.canonical.com:9876", "region": "prodstack7"}, {"id": "e9c2ec6bc0e94e1e8ca6b15aa24b9294", "interface": "admin", "region_id": "prodstack7", "url": "https://octavia-admin.ps7.canonical.com:9876", "region": "prodstack7"}], "id": "4e42217a7f46428b87e7458a8a73942c", "type": "load-balancer", "name": "octavia"}, {"endpoints": [{"id": "29929a56ac7944d8867150f9d9a51ffe", "interface": "public", "region_id": "prodstack7", "url": "https://gnocchi.ps7.canonical.com:8041", "region": "prodstack7"}, {"id": "d1146fdec43e4c339f3c0766fda1923d", "interface": "internal", "region_id": "prodstack7", "url": "https://gnocchi-internal.ps7.canonical.com:8041", "region": "prodstack7"}, {"id": "ff5d256a28064e13b52758d6206687eb", "interface": "admin", "region_id": "prodstack7", "url": "https://gnocchi-admin.ps7.canonical.com:8041", "region": "prodstack7"}], "id": "50872dac84974216b104c7eef043dfe6", "type": "metric", "name": "gnocchi"}, {"endpoints": [{"id": "3901a2889b584fe5baf1325da2d5571c", "interface": "internal", "region_id": "prodstack7", "url": "https://aodh-internal.ps7.canonical.com:8042", "region": "prodstack7"}, {"id": "94f9e723537a4d0ab35ab53fe1af6f01", "interface": "public", "region_id": "prodstack7", "url": "https://aodh.ps7.canonical.com:8042", "region": "prodstack7"}, {"id": "f3fc8781a98149c680bd7f34c6893410", "interface": "admin", "region_id": "prodstack7", "url": "https://aodh-admin.ps7.canonical.com:8042", "region": "prodstack7"}], "id": "6f7af5495c2447c9bf258f72605a99b1", "type": "alarming", "name": "aodh"}, {"endpoints": [{"id": "0592d4bf15d54ba8aac00dfc34292295", "interface": "admin", "region_id": "prodstack7", "url": "https://keystone-admin.ps7.canonical.com:35357/v3", "region": "prodstack7"}, {"id": "1f5df236ded54026af4f5e947a599b2f", "interface": "internal", "region_id": "prodstack7", "url": "https://keystone-internal.ps7.canonical.com:5000/v3", "region": "prodstack7"}, {"id": "cd17fef7e3d246b3974b2ffe55b7889c", "interface": "public", "region_id": "prodstack7", "url": "https://keystone.ps7.canonical.com:5000/v3", "region": "prodstack7"}], "id": "7ad024307b634ea989f1e03d73d7737b", "type": "identity", "name": "keystone"}, {"endpoints": [{"id": "001dac935b6c44b1ad62c90175538578", "interface": "admin", "region_id": "prodstack7", "url": "https://cinder-admin.ps7.canonical.com:8776/v3/9bf77f46fd6c4d3da81ee79a717acf43", "region": "prodstack7"}, {"id": "90abac2983a34488bb6ada4e5004bb99", "interface": "public", "region_id": "prodstack7", "url": "https://cinder.ps7.canonical.com:8776/v3/9bf77f46fd6c4d3da81ee79a717acf43", "region": "prodstack7"}, {"id": "e49add7152684a8e9e1e3ea9502b5dc6", "interface": "internal", "region_id": "prodstack7", "url": "https://cinder-internal.ps7.canonical.com:8776/v3/9bf77f46fd6c4d3da81ee79a717acf43", "region": "prodstack7"}], "id": "7bea8b97c0304a62afd8325515928cc0", "type": "volumev3", "name": "cinderv3"}, {"endpoints": [{"id": "2450babeee5e4fe49947cbe7bcc0f3c3", "interface": "public", "region_id": "prodstack7", "url": "https://designate.ps7.canonical.com:9001", "region": "prodstack7"}, {"id": "c2e77ece29cd4dc7bf518bb51c619cce", "interface": "internal", "region_id": "prodstack7", "url": "https://designate-internal.ps7.canonical.com:9001", "region": "prodstack7"}, {"id": "fc292615aa2d43ff943da365870944ce", "interface": "admin", "region_id": "prodstack7", "url": "https://designate-admin.ps7.canonical.com:9001", "region": "prodstack7"}], "id": "8d13654c658644c4a375ce8428638f3d", "type": "dns", "name": "designate"}, {"endpoints": [{"id": "604f1f7088c54ec4a558d1747b0e7396", "interface": "public", "region_id": "prodstack7", "url": "https://barbican.ps7.canonical.com:9311", "region": "prodstack7"}, {"id": "81268c6bd3524a4d85af3d6faa426863", "interface": "admin", "region_id": "prodstack7", "url": "https://barbican-admin.ps7.canonical.com:9312", "region": "prodstack7"}, {"id": "becc73f676f34e66ab1daf0fbcb42366", "interface": "internal", "region_id": "prodstack7", "url": "https://barbican-internal.ps7.canonical.com:9311", "region": "prodstack7"}], "id": "8df4ed7c02d44fe28ec72b1e19e3f66f", "type": "key-manager", "name": "barbican"}, {"endpoints": [{"id": "38557e1243014f1abaa578a61bb0a387", "interface": "public", "region_id": "prodstack7", "url": "https://manila.ps7.canonical.com:8786/v1/9bf77f46fd6c4d3da81ee79a717acf43", "region": "prodstack7"}, {"id": "b12d5a4329f94a1fa6dbd2cd38ebcd52", "interface": "internal", "region_id": "prodstack7", "url": "https://manila-internal.ps7.canonical.com:8786/v1/9bf77f46fd6c4d3da81ee79a717acf43", "region": "prodstack7"}, {"id": "bc081c0d5d954446b7ee77886f5d68a3", "interface": "admin", "region_id": "prodstack7", "url": "https://manila-admin.ps7.canonical.com:8786/v1/9bf77f46fd6c4d3da81ee79a717acf43", "region": "prodstack7"}], "id": "8e7967c2620d49448787e035e8f21af0", "type": "share", "name": "manila"}, {"endpoints": [{"id": "03802d072c514ae484a2d26be0c906af", "interface": "public", "region_id": "prodstack7", "url": "https://radosgw.ps7.canonical.com:443/", "region": "prodstack7"}, {"id": "c07a315e261f430d94542a872596d654", "interface": "admin", "region_id": "prodstack7", "url": "https://radosgw-admin.ps7.canonical.com:443/", "region": "prodstack7"}, {"id": "d62fcd20c1e34d64930fbec97503a40a", "interface": "internal", "region_id": "prodstack7", "url": "https://radosgw-internal.ps7.canonical.com:443/", "region": "prodstack7"}], "id": "9569f1b0b4714254a3d116760dc3968d", "type": "s3", "name": "s3"}, {"endpoints": [{"id": "0e64627804e741e5948b4d35e1914624", "interface": "internal", "region_id": "RegionOne", "url": "http://10.150.13.75", "region": "RegionOne"}, {"id": "12d47bbd1cc64dbf8d4e442b821c64f2", "interface": "admin", "region_id": "prodstack7", "url": "https://radosgw-admin.ps7.canonical.com:443/swift/simplestreams/data", "region": "prodstack7"}, {"id": "35aba6c3a1fc4041b30963e8b6c7b929", "interface": "public", "region_id": "prodstack7", "url": "https://radosgw.ps7.canonical.com:443/swift/v1/AUTH_588a6b5285ea4ed38ae122d264c01490/simplestreams/data", "region": "prodstack7"}, {"id": "35bc5168fcc2414a9d89313cdef8bca9", "interface": "admin", "region_id": "RegionOne", "url": "http://10.150.13.75", "region": "RegionOne"}, {"id": "5f7980b3f8e746e6bbd66c9cef81714e", "interface": "public", "region_id": "RegionOne", "url": "http://10.150.13.75", "region": "RegionOne"}, {"id": "739ab5131dff4cdbb3151f6de36b36f6", "interface": "internal", "region_id": "prodstack7", "url": "https://radosgw-internal.ps7.canonical.com:443/swift/v1/AUTH_588a6b5285ea4ed38ae122d264c01490/simplestreams/data", "region": "prodstack7"}], "id": "b28a039721b147af8e77d77242d4297f", "type": "product-streams", "name": "image-stream"}, {"endpoints": [{"id": "9321fba4588641dbb1c9f89508f1bf23", "interface": "internal", "region_id": "prodstack7", "url": "https://placement-internal.ps7.canonical.com:8778", "region": "prodstack7"}, {"id": "9a75eebf33e7409d9b69dc7e650f756c", "interface": "admin", "region_id": "prodstack7", "url": "https://placement-admin.ps7.canonical.com:8778", "region": "prodstack7"}, {"id": "c03942ddacb94fe39c1529aa74bd31c1", "interface": "public", "region_id": "prodstack7", "url": "https://placement.ps7.canonical.com:8778", "region": "prodstack7"}], "id": "bc5c019477934e89bab2a097e8df84b6", "type": "placement", "name": "placement"}, {"endpoints": [{"id": "b8152f5e649d4603ac092897639d38c9", "interface": "admin", "region_id": "prodstack7", "url": "https://radosgw-admin.ps7.canonical.com:443/swift", "region": "prodstack7"}, {"id": "baa313d85b904c308b7a5c98505fc32c", "interface": "internal", "region_id": "prodstack7", "url": "https://radosgw-internal.ps7.canonical.com:443/swift/v1/AUTH_9bf77f46fd6c4d3da81ee79a717acf43", "region": "prodstack7"}, {"id": "c17c3db416224561b5e045562bbe76bf", "interface": "public", "region_id": "prodstack7", "url": "https://radosgw.ps7.canonical.com:443/swift/v1/AUTH_9bf77f46fd6c4d3da81ee79a717acf43", "region": "prodstack7"}], "id": "c6dd2bcf96bf44c2a99e39d1302563f1", "type": "object-store", "name": "swift"}, {"endpoints": [{"id": "526da263451648898c9187c65f441a1c", "interface": "public", "region_id": "prodstack7", "url": "https://glance.ps7.canonical.com:9292", "region": "prodstack7"}, {"id": "61b55755ca9e4e2ab04a144f92cb6e97", "interface": "admin", "region_id": "prodstack7", "url": "https://glance-admin.ps7.canonical.com:9292", "region": "prodstack7"}, {"id": "9080969b2cde4926b647f63b9591233c", "interface": "internal", "region_id": "prodstack7", "url": "https://glance-internal.ps7.canonical.com:9292", "region": "prodstack7"}], "id": "dd3a22e287464998be0514a67dafb7e4", "type": "image", "name": "glance"}, {"endpoints": [{"id": "2f4dcba2a4ce46b2a2e3cf103fd929f4", "interface": "admin", "region_id": "prodstack7", "url": "https://manila-admin.ps7.canonical.com:8786/v2/9bf77f46fd6c4d3da81ee79a717acf43", "region": "prodstack7"}, {"id": "789faa303fb54473b9449fa2f52866b3", "interface": "internal", "region_id": "prodstack7", "url": "https://manila-internal.ps7.canonical.com:8786/v2/9bf77f46fd6c4d3da81ee79a717acf43", "region": "prodstack7"}, {"id": "fa7fa08da5e147df8dbc9528f3d7135b", "interface": "public", "region_id": "prodstack7", "url": "https://manila.ps7.canonical.com:8786/v2/9bf77f46fd6c4d3da81ee79a717acf43", "region": "prodstack7"}], "id": "f6880aea736446b8a4232e0cf3528a12", "type": "sharev2", "name": "manilav2"}]}} 152s REQ: curl -g -i -X GET https://nova.ps7.canonical.com:8774/v2.1 -H "Accept: application/json" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}3aed66f7755d3cf66541fd403f89ca939537c79f6238dc8188a842ea4de64315" 152s DEBUG (session:517) REQ: curl -g -i -X GET https://nova.ps7.canonical.com:8774/v2.1 -H "Accept: application/json" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}3aed66f7755d3cf66541fd403f89ca939537c79f6238dc8188a842ea4de64315" 152s DEBUG (connectionpool:939) Starting new HTTPS connection (1): nova.ps7.canonical.com:8774 152s DEBUG (connectionpool:429) https://nova.ps7.canonical.com:8774 "GET /v2.1 HTTP/1.1" 302 0 152s RESP: [302] Connection: Keep-Alive Content-Length: 0 Content-Type: text/plain; charset=utf8 Date: Fri, 30 Jan 2026 06:11:37 GMT Keep-Alive: timeout=75, max=1000 Location: https://nova.ps7.canonical.com:8774/v2.1/ Server: Apache/2.4.52 (Ubuntu) x-compute-request-id: req-f3a0eb88-10cc-4d37-bec8-5994dc3d06ac x-openstack-request-id: req-f3a0eb88-10cc-4d37-bec8-5994dc3d06ac 152s DEBUG (session:548) RESP: [302] Connection: Keep-Alive Content-Length: 0 Content-Type: text/plain; charset=utf8 Date: Fri, 30 Jan 2026 06:11:37 GMT Keep-Alive: timeout=75, max=1000 Location: https://nova.ps7.canonical.com:8774/v2.1/ Server: Apache/2.4.52 (Ubuntu) x-compute-request-id: req-f3a0eb88-10cc-4d37-bec8-5994dc3d06ac x-openstack-request-id: req-f3a0eb88-10cc-4d37-bec8-5994dc3d06ac 152s RESP BODY: Omitted, Content-Type is set to text/plain; charset=utf8. Only application/json responses have their bodies logged. 152s DEBUG (session:580) RESP BODY: Omitted, Content-Type is set to text/plain; charset=utf8. Only application/json responses have their bodies logged. 152s DEBUG (connectionpool:429) https://nova.ps7.canonical.com:8774 "GET /v2.1/ HTTP/1.1" 200 397 152s RESP: [200] Connection: Keep-Alive Content-Length: 397 Content-Type: application/json Date: Fri, 30 Jan 2026 06:11:37 GMT Keep-Alive: timeout=75, max=999 OpenStack-API-Version: compute 2.1 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.1 x-compute-request-id: req-36287164-7ddc-4fd8-9815-62d98d95f6de x-openstack-request-id: req-36287164-7ddc-4fd8-9815-62d98d95f6de 152s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 397 Content-Type: application/json Date: Fri, 30 Jan 2026 06:11:37 GMT Keep-Alive: timeout=75, max=999 OpenStack-API-Version: compute 2.1 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.1 x-compute-request-id: req-36287164-7ddc-4fd8-9815-62d98d95f6de x-openstack-request-id: req-36287164-7ddc-4fd8-9815-62d98d95f6de 152s RESP BODY: {"version": {"id": "v2.1", "status": "CURRENT", "version": "2.96", "min_version": "2.1", "updated": "2013-07-23T11:33:21Z", "links": [{"rel": "self", "href": "https://nova.ps7.canonical.com:8774/v2.1/"}, {"rel": "describedby", "type": "text/html", "href": "http://docs.openstack.org/"}], "media-types": [{"base": "application/json", "type": "application/vnd.openstack.compute+json;version=2.1"}]}} 152s DEBUG (session:580) RESP BODY: {"version": {"id": "v2.1", "status": "CURRENT", "version": "2.96", "min_version": "2.1", "updated": "2013-07-23T11:33:21Z", "links": [{"rel": "self", "href": "https://nova.ps7.canonical.com:8774/v2.1/"}, {"rel": "describedby", "type": "text/html", "href": "http://docs.openstack.org/"}], "media-types": [{"base": "application/json", "type": "application/vnd.openstack.compute+json;version=2.1"}]}} 152s GET call to compute for https://nova.ps7.canonical.com:8774/v2.1/ used request id req-36287164-7ddc-4fd8-9815-62d98d95f6de 152s DEBUG (session:936) GET call to compute for https://nova.ps7.canonical.com:8774/v2.1/ used request id req-36287164-7ddc-4fd8-9815-62d98d95f6de 152s DEBUG (extension:189) found extension EntryPoint.parse('v1password = swiftclient.authv1:PasswordLoader') 152s DEBUG (extension:189) found extension EntryPoint.parse('noauth = cinderclient.contrib.noauth:CinderNoAuthLoader') 152s DEBUG (extension:189) found extension EntryPoint.parse('admin_token = keystoneauth1.loading._plugins.admin_token:AdminToken') 152s DEBUG (extension:189) found extension EntryPoint.parse('none = keystoneauth1.loading._plugins.noauth:NoAuth') 152s DEBUG (extension:189) found extension EntryPoint.parse('password = keystoneauth1.loading._plugins.identity.generic:Password') 152s DEBUG (extension:189) found extension EntryPoint.parse('token = keystoneauth1.loading._plugins.identity.generic:Token') 152s DEBUG (extension:189) found extension EntryPoint.parse('v2password = keystoneauth1.loading._plugins.identity.v2:Password') 152s DEBUG (extension:189) found extension EntryPoint.parse('v2token = keystoneauth1.loading._plugins.identity.v2:Token') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3adfspassword = keystoneauth1.extras._saml2._loading:ADFSPassword') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3applicationcredential = keystoneauth1.loading._plugins.identity.v3:ApplicationCredential') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3fedkerb = keystoneauth1.extras.kerberos._loading:MappedKerberos') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3kerberos = keystoneauth1.extras.kerberos._loading:Kerberos') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3multifactor = keystoneauth1.loading._plugins.identity.v3:MultiFactor') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3oauth1 = keystoneauth1.extras.oauth1._loading:V3OAuth1') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcaccesstoken = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectAccessToken') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcauthcode = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectAuthorizationCode') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcclientcredentials = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectClientCredentials') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3oidcpassword = keystoneauth1.loading._plugins.identity.v3:OpenIDConnectPassword') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3password = keystoneauth1.loading._plugins.identity.v3:Password') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3samlpassword = keystoneauth1.extras._saml2._loading:Saml2Password') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3token = keystoneauth1.loading._plugins.identity.v3:Token') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3tokenlessauth = keystoneauth1.loading._plugins.identity.v3:TokenlessAuth') 152s DEBUG (extension:189) found extension EntryPoint.parse('v3totp = keystoneauth1.loading._plugins.identity.v3:TOTP') 152s DEBUG (session:517) REQ: curl -g -i -X GET https://glance.ps7.canonical.com:9292/v2/images/011be5ba-3d23-459d-9a9a-537803b22566 -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}3aed66f7755d3cf66541fd403f89ca939537c79f6238dc8188a842ea4de64315" -H "X-OpenStack-Nova-API-Version: 2.87" 152s DEBUG (connectionpool:939) Starting new HTTPS connection (1): glance.ps7.canonical.com:9292 152s DEBUG (connectionpool:429) https://glance.ps7.canonical.com:9292 "GET /v2/images/011be5ba-3d23-459d-9a9a-537803b22566 HTTP/1.1" 200 2267 152s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 2267 Content-Type: application/json Date: Fri, 30 Jan 2026 06:11:37 GMT Keep-Alive: timeout=75, max=1000 Server: Apache/2.4.52 (Ubuntu) X-Openstack-Request-Id: req-f1ba1817-5e2e-46c1-8bd7-0122c8c87f61 152s DEBUG (session:580) RESP BODY: {"architecture": "ppc64le", "base_image_ref": "9b0c7073-6832-42f8-bffe-d26e1b353256", "boot_roles": "load-balancer_member,member,reader", "content_id": "auto.sync", "hw_cdrom_bus": "scsi", "hw_disk_bus": "virtio", "hw_machine_type": "pseries", "hw_video_model": "vga", "hw_vif_model": "virtio", "image_location": "snapshot", "image_state": "available", "image_type": "snapshot", "img_config_drive": "mandatory", "instance_uuid": "f517a061-a2eb-4f36-a6a1-a6822453f13f", "item_name": "disk1.img", "os_distro": "ubuntu", "os_version": "26.04", "owner_id": "9bf77f46fd6c4d3da81ee79a717acf43", "owner_project_name": "prod-autopkgtest-workers-ppc64el_project", "owner_user_name": "prod-autopkgtest-workers-ppc64el", "product_name": "com.ubuntu.cloud.daily:server:26.04:ppc64el", "simplestreams_metadata": "{\"aliases\": \"26.04,r,resolute,devel\", \"arch\": \"ppc64el\", \"ftype\": \"disk1.img\", \"label\": \"daily\", \"os\": \"ubuntu\", \"pubname\": \"ubuntu-resolute-daily-ppc64el-server-20260109\", \"release\": \"resolute\", \"release_codename\": \"Resolute Raccoon\", \"release_title\": \"2", "source_content_id": "com.ubuntu.cloud:daily:download", "user_id": "20f4f30c2cfd4bfe806cd0db10c0e446", "version_name": "20260109", "name": "adt/ubuntu-resolute-ppc64el-server-20260129.img", "disk_format": "qcow2", "container_format": "bare", "visibility": "private", "size": 3595960320, "virtual_size": 21474836480, "status": "active", "checksum": "add36b33416f2c02c6418fddc8556aa5", "protected": false, "min_ram": 0, "min_disk": 20, "owner": "9bf77f46fd6c4d3da81ee79a717acf43", "os_hidden": false, "os_hash_algo": "sha256", "os_hash_value": "127e9986c3fee98bee97e3f4c855af97691e8cadf4aca00e4f0bf5c2a75dc3fb", "id": "011be5ba-3d23-459d-9a9a-537803b22566", "created_at": "2026-01-29T01:16:07Z", "updated_at": "2026-01-29T01:17:34Z", "locations": [{"url": "rbd://d8b83d88-b70a-11ef-be0b-2390f458e7bc/glance/011be5ba-3d23-459d-9a9a-537803b22566/snap", "metadata": {"store": "ceph"}}], "direct_url": "rbd://d8b83d88-b70a-11ef-be0b-2390f458e7bc/glance/011be5ba-3d23-459d-9a9a-537803b22566/snap", "tags": [], "self": "/v2/images/011be5ba-3d23-459d-9a9a-537803b22566", "file": "/v2/images/011be5ba-3d23-459d-9a9a-537803b22566/file", "schema": "/v2/schemas/image", "stores": "ceph"} 152s DEBUG (session:936) GET call to image for https://glance.ps7.canonical.com:9292/v2/images/011be5ba-3d23-459d-9a9a-537803b22566 used request id req-f1ba1817-5e2e-46c1-8bd7-0122c8c87f61 152s DEBUG (session:517) REQ: curl -g -i -X GET https://nova.ps7.canonical.com:8774/v2.1/flavors/autopkgtest-cpu2-ram4-disk20-ppc64el -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}3aed66f7755d3cf66541fd403f89ca939537c79f6238dc8188a842ea4de64315" -H "X-OpenStack-Nova-API-Version: 2.87" 152s DEBUG (connectionpool:429) https://nova.ps7.canonical.com:8774 "GET /v2.1/flavors/autopkgtest-cpu2-ram4-disk20-ppc64el HTTP/1.1" 404 109 152s DEBUG (session:548) RESP: [404] Connection: Keep-Alive Content-Length: 109 Content-Type: application/json; charset=UTF-8 Date: Fri, 30 Jan 2026 06:11:37 GMT Keep-Alive: timeout=75, max=998 OpenStack-API-Version: compute 2.87 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.87 x-compute-request-id: req-7e71a8a3-d16a-4ca1-a21c-6bab8f814772 x-openstack-request-id: req-7e71a8a3-d16a-4ca1-a21c-6bab8f814772 152s DEBUG (session:580) RESP BODY: {"itemNotFound": {"code": 404, "message": "Flavor autopkgtest-cpu2-ram4-disk20-ppc64el could not be found."}} 152s DEBUG (session:936) GET call to compute for https://nova.ps7.canonical.com:8774/v2.1/flavors/autopkgtest-cpu2-ram4-disk20-ppc64el used request id req-7e71a8a3-d16a-4ca1-a21c-6bab8f814772 152s DEBUG (session:517) REQ: curl -g -i -X GET https://nova.ps7.canonical.com:8774/v2.1/flavors?is_public=None -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}3aed66f7755d3cf66541fd403f89ca939537c79f6238dc8188a842ea4de64315" -H "X-OpenStack-Nova-API-Version: 2.87" 152s DEBUG (connectionpool:429) https://nova.ps7.canonical.com:8774 "GET /v2.1/flavors?is_public=None HTTP/1.1" 200 2423 152s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 2423 Content-Type: application/json Date: Fri, 30 Jan 2026 06:11:37 GMT Keep-Alive: timeout=75, max=997 OpenStack-API-Version: compute 2.87 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.87 x-compute-request-id: req-ae976f15-23fc-4a8a-80f9-21ed8926d3d7 x-openstack-request-id: req-ae976f15-23fc-4a8a-80f9-21ed8926d3d7 152s DEBUG (session:580) RESP BODY: {"flavors": [{"id": "53d845ba-20b6-47b0-8d36-14129b383b2c", "name": "shared.large.ppc64el", "links": [{"rel": "self", "href": "https://nova.ps7.canonical.com:8774/v2.1/flavors/53d845ba-20b6-47b0-8d36-14129b383b2c"}, {"rel": "bookmark", "href": "https://nova.ps7.canonical.com:8774/flavors/53d845ba-20b6-47b0-8d36-14129b383b2c"}], "description": null}, {"id": "6d15d6b4-4956-4aab-940e-fc2f21abb355", "name": "shared.xlarge.ppc64el", "links": [{"rel": "self", "href": "https://nova.ps7.canonical.com:8774/v2.1/flavors/6d15d6b4-4956-4aab-940e-fc2f21abb355"}, {"rel": "bookmark", "href": "https://nova.ps7.canonical.com:8774/flavors/6d15d6b4-4956-4aab-940e-fc2f21abb355"}], "description": null}, {"id": "84d9214c-6238-49ad-bcd4-68651b0fff84", "name": "shared.medium.ppc64el", "links": [{"rel": "self", "href": "https://nova.ps7.canonical.com:8774/v2.1/flavors/84d9214c-6238-49ad-bcd4-68651b0fff84"}, {"rel": "bookmark", "href": "https://nova.ps7.canonical.com:8774/flavors/84d9214c-6238-49ad-bcd4-68651b0fff84"}], "description": null}, {"id": "af3a4807-1a67-45b0-a4ec-851f7f915480", "name": "autopkgtest-cpu4-ram16-disk100-ppc64el", "links": [{"rel": "self", "href": "https://nova.ps7.canonical.com:8774/v2.1/flavors/af3a4807-1a67-45b0-a4ec-851f7f915480"}, {"rel": "bookmark", "href": "https://nova.ps7.canonical.com:8774/flavors/af3a4807-1a67-45b0-a4ec-851f7f915480"}], "description": null}, {"id": "cdd26b7a-512f-4e40-a56b-a8628e74c273", "name": "autopkgtest-cpu2-ram4-disk20-ppc64el", "links": [{"rel": "self", "href": "https://nova.ps7.canonical.com:8774/v2.1/flavors/cdd26b7a-512f-4e40-a56b-a8628e74c273"}, {"rel": "bookmark", "href": "https://nova.ps7.canonical.com:8774/flavors/cdd26b7a-512f-4e40-a56b-a8628e74c273"}], "description": null}, {"id": "d2b33018-ef27-42d3-9878-e3b4816cec50", "name": "shared.xsmall.ppc64el", "links": [{"rel": "self", "href": "https://nova.ps7.canonical.com:8774/v2.1/flavors/d2b33018-ef27-42d3-9878-e3b4816cec50"}, {"rel": "bookmark", "href": "https://nova.ps7.canonical.com:8774/flavors/d2b33018-ef27-42d3-9878-e3b4816cec50"}], "description": null}, {"id": "e9e0185b-b47d-42ce-bd30-0892a3bf026a", "name": "shared.small.ppc64el", "links": [{"rel": "self", "href": "https://nova.ps7.canonical.com:8774/v2.1/flavors/e9e0185b-b47d-42ce-bd30-0892a3bf026a"}, {"rel": "bookmark", "href": "https://nova.ps7.canonical.com:8774/flavors/e9e0185b-b47d-42ce-bd30-0892a3bf026a"}], "description": null}]} 152s DEBUG (session:936) GET call to compute for https://nova.ps7.canonical.com:8774/v2.1/flavors?is_public=None used request id req-ae976f15-23fc-4a8a-80f9-21ed8926d3d7 152s DEBUG (session:517) REQ: curl -g -i -X GET https://nova.ps7.canonical.com:8774/v2.1/flavors/cdd26b7a-512f-4e40-a56b-a8628e74c273 -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}3aed66f7755d3cf66541fd403f89ca939537c79f6238dc8188a842ea4de64315" -H "X-OpenStack-Nova-API-Version: 2.87" 152s DEBUG (connectionpool:429) https://nova.ps7.canonical.com:8774 "GET /v2.1/flavors/cdd26b7a-512f-4e40-a56b-a8628e74c273 HTTP/1.1" 200 706 152s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 706 Content-Type: application/json Date: Fri, 30 Jan 2026 06:11:37 GMT Keep-Alive: timeout=75, max=996 OpenStack-API-Version: compute 2.87 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.87 x-compute-request-id: req-86de3ec8-1b88-4407-8ea9-f9d5b63a1cac x-openstack-request-id: req-86de3ec8-1b88-4407-8ea9-f9d5b63a1cac 152s DEBUG (session:580) RESP BODY: {"flavor": {"id": "cdd26b7a-512f-4e40-a56b-a8628e74c273", "name": "autopkgtest-cpu2-ram4-disk20-ppc64el", "ram": 4096, "disk": 20, "swap": 0, "OS-FLV-EXT-DATA:ephemeral": 0, "OS-FLV-DISABLED:disabled": false, "vcpus": 2, "os-flavor-access:is_public": false, "rxtx_factor": 1.0, "links": [{"rel": "self", "href": "https://nova.ps7.canonical.com:8774/v2.1/flavors/cdd26b7a-512f-4e40-a56b-a8628e74c273"}, {"rel": "bookmark", "href": "https://nova.ps7.canonical.com:8774/flavors/cdd26b7a-512f-4e40-a56b-a8628e74c273"}], "description": null, "extra_specs": {"aggregate_instance_extra_specs:commit": "ppc64el", "hw:cpu_policy": "shared", "hw:mem_page_size": "large", "hw:pci_numa_affinity_policy": "preferred"}}} 152s DEBUG (session:936) GET call to compute for https://nova.ps7.canonical.com:8774/v2.1/flavors/cdd26b7a-512f-4e40-a56b-a8628e74c273 used request id req-86de3ec8-1b88-4407-8ea9-f9d5b63a1cac 152s DEBUG (session:517) REQ: curl -g -i -X POST https://nova.ps7.canonical.com:8774/v2.1/servers -H "Accept: application/json" -H "Content-Type: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}3aed66f7755d3cf66541fd403f89ca939537c79f6238dc8188a842ea4de64315" -H "X-OpenStack-Nova-API-Version: 2.87" -d '{"server": {"name": "adt-resolute-ppc64el-translate-toolkit-20260130-060910-juju-7f2275-prod-proposed-migration-environment-20-64f04fde-c3da-4de1-92d5-8666d8976d7e", "imageRef": "011be5ba-3d23-459d-9a9a-537803b22566", "flavorRef": "cdd26b7a-512f-4e40-a56b-a8628e74c273", "user_data": "I2Nsb3VkLWNvbmZpZwpob3N0bmFtZTogYXV0b3BrZ3Rlc3QKZnFkbjogYXV0b3BrZ3Rlc3QubG9jYWwKbWFuYWdlX2V0Y19ob3N0czogdHJ1ZQphcHRfdXBkYXRlOiB0cnVlCmFwdF91cGdyYWRlOiBmYWxzZQphcHRfbWlycm9yOiBodHRwOi8vZnRwbWFzdGVyLmludGVybmFsL3VidW50dS8KCnJ1bmNtZDoKIC0gZWNobyAnQWNxdWlyZTo6TGFuZ3VhZ2VzICJub25lIjsnID4gL2V0Yy9hcHQvYXB0LmNvbmYuZC85MG5vbGFuZ3VhZ2VzCiAtIGVjaG8gJ2ZvcmNlLXVuc2FmZS1pbycgPiAvZXRjL2Rwa2cvZHBrZy5jZmcuZC9hdXRvcGtndGVzdAogLSBwcmludGYgJ1xuVEVSTT1saW51eFxuJyA+PiAvZXRjL2Vudmlyb25tZW50CiAtIHNlZCAtaSAtciAnL14xMjcuMC4xLjEvIHMvYXV0b3BrZ3Rlc3QtW14gXStcLi9hdXRvcGtndGVzdFwuLycgL2V0Yy9ob3N0cwo=", "key_name": "testbed-juju-7f2275-prod-proposed-migration-environment-20", "min_count": 1, "max_count": 1, "security_groups": [{"name": "autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@sto01-ppc64el-17.secgroup"}], "networks": [{"uuid": "c4c76c34-f8c1-479e-a79a-8c9382a6ed25"}]}}' 152s DEBUG (connectionpool:429) https://nova.ps7.canonical.com:8774 "POST /v2.1/servers HTTP/1.1" 202 479 152s DEBUG (session:548) RESP: [202] Connection: Keep-Alive Content-Length: 479 Content-Type: application/json Date: Fri, 30 Jan 2026 06:11:37 GMT Keep-Alive: timeout=75, max=995 OpenStack-API-Version: compute 2.87 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.87 location: https://nova.ps7.canonical.com:8774/v2.1/servers/1abb3526-49bf-48f5-be65-fc09f14deb4a x-compute-request-id: req-0a80bb9e-a588-4460-bca0-1fd17e5a38bf x-openstack-request-id: req-0a80bb9e-a588-4460-bca0-1fd17e5a38bf 152s DEBUG (session:580) RESP BODY: {"server": {"id": "1abb3526-49bf-48f5-be65-fc09f14deb4a", "links": [{"rel": "self", "href": "https://nova.ps7.canonical.com:8774/v2.1/servers/1abb3526-49bf-48f5-be65-fc09f14deb4a"}, {"rel": "bookmark", "href": "https://nova.ps7.canonical.com:8774/servers/1abb3526-49bf-48f5-be65-fc09f14deb4a"}], "OS-DCF:diskConfig": "MANUAL", "security_groups": [{"name": "autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@sto01-ppc64el-17.secgroup"}], "adminPass": "sAvVRdQ7JubB"}} 152s DEBUG (session:936) POST call to compute for https://nova.ps7.canonical.com:8774/v2.1/servers used request id req-0a80bb9e-a588-4460-bca0-1fd17e5a38bf 152s DEBUG (session:517) REQ: curl -g -i -X GET https://nova.ps7.canonical.com:8774/v2.1/servers/1abb3526-49bf-48f5-be65-fc09f14deb4a -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}3aed66f7755d3cf66541fd403f89ca939537c79f6238dc8188a842ea4de64315" -H "X-OpenStack-Nova-API-Version: 2.87" 152s DEBUG (connectionpool:429) https://nova.ps7.canonical.com:8774 "GET /v2.1/servers/1abb3526-49bf-48f5-be65-fc09f14deb4a HTTP/1.1" 200 2726 152s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 2726 Content-Type: application/json Date: Fri, 30 Jan 2026 06:11:38 GMT Keep-Alive: timeout=75, max=994 OpenStack-API-Version: compute 2.87 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.87 x-compute-request-id: req-4a103bfd-9385-4310-9178-fb11c6f47f6b x-openstack-request-id: req-4a103bfd-9385-4310-9178-fb11c6f47f6b 152s DEBUG (session:580) RESP BODY: {"server": {"id": "1abb3526-49bf-48f5-be65-fc09f14deb4a", "name": "adt-resolute-ppc64el-translate-toolkit-20260130-060910-juju-7f2275-prod-proposed-migration-environment-20-64f04fde-c3da-4de1-92d5-8666d8976d7e", "status": "BUILD", "tenant_id": "9bf77f46fd6c4d3da81ee79a717acf43", "user_id": "20f4f30c2cfd4bfe806cd0db10c0e446", "metadata": {}, "hostId": "", "image": {"id": "011be5ba-3d23-459d-9a9a-537803b22566", "links": [{"rel": "bookmark", "href": "https://nova.ps7.canonical.com:8774/images/011be5ba-3d23-459d-9a9a-537803b22566"}]}, "flavor": {"vcpus": 2, "ram": 4096, "disk": 20, "ephemeral": 0, "swap": 0, "original_name": "autopkgtest-cpu2-ram4-disk20-ppc64el", "extra_specs": {"aggregate_instance_extra_specs:commit": "ppc64el", "hw:cpu_policy": "shared", "hw:mem_page_size": "large", "hw:pci_numa_affinity_policy": "preferred"}}, "created": "2026-01-30T06:11:38Z", "updated": "2026-01-30T06:11:38Z", "addresses": {}, "accessIPv4": "", "accessIPv6": "", "links": [{"rel": "self", "href": "https://nova.ps7.canonical.com:8774/v2.1/servers/1abb3526-49bf-48f5-be65-fc09f14deb4a"}, {"rel": "bookmark", "href": "https://nova.ps7.canonical.com:8774/servers/1abb3526-49bf-48f5-be65-fc09f14deb4a"}], "OS-DCF:diskConfig": "MANUAL", "progress": 0, "OS-EXT-AZ:availability_zone": "", "config_drive": "", "key_name": "testbed-juju-7f2275-prod-proposed-migration-environment-20", "OS-SRV-USG:launched_at": null, "OS-SRV-USG:terminated_at": null, "OS-EXT-SRV-ATTR:host": null, "OS-EXT-SRV-ATTR:instance_name": "", "OS-EXT-SRV-ATTR:hypervisor_hostname": null, "OS-EXT-SRV-ATTR:reservation_id": "r-im9wt5uy", "OS-EXT-SRV-ATTR:launch_index": 0, "OS-EXT-SRV-ATTR:hostname": "adt-resolute-ppc64el-translate-toolkit-20260130-060910-juju-7f2", "OS-EXT-SRV-ATTR:kernel_id": "", "OS-EXT-SRV-ATTR:ramdisk_id": "", "OS-EXT-SRV-ATTR:root_device_name": null, "OS-EXT-SRV-ATTR:user_data": "I2Nsb3VkLWNvbmZpZwpob3N0bmFtZTogYXV0b3BrZ3Rlc3QKZnFkbjogYXV0b3BrZ3Rlc3QubG9jYWwKbWFuYWdlX2V0Y19ob3N0czogdHJ1ZQphcHRfdXBkYXRlOiB0cnVlCmFwdF91cGdyYWRlOiBmYWxzZQphcHRfbWlycm9yOiBodHRwOi8vZnRwbWFzdGVyLmludGVybmFsL3VidW50dS8KCnJ1bmNtZDoKIC0gZWNobyAnQWNxdWlyZTo6TGFuZ3VhZ2VzICJub25lIjsnID4gL2V0Yy9hcHQvYXB0LmNvbmYuZC85MG5vbGFuZ3VhZ2VzCiAtIGVjaG8gJ2ZvcmNlLXVuc2FmZS1pbycgPiAvZXRjL2Rwa2cvZHBrZy5jZmcuZC9hdXRvcGtndGVzdAogLSBwcmludGYgJ1xuVEVSTT1saW51eFxuJyA+PiAvZXRjL2Vudmlyb25tZW50CiAtIHNlZCAtaSAtciAnL14xMjcuMC4xLjEvIHMvYXV0b3BrZ3Rlc3QtW14gXStcLi9hdXRvcGtndGVzdFwuLycgL2V0Yy9ob3N0cwo=", "OS-EXT-STS:task_state": "scheduling", "OS-EXT-STS:vm_state": "building", "OS-EXT-STS:power_state": 0, "os-extended-volumes:volumes_attached": [], "locked": false, "locked_reason": null, "description": null, "tags": [], "trusted_image_certificates": null, "server_groups": []}} 152s DEBUG (session:936) GET call to compute for https://nova.ps7.canonical.com:8774/v2.1/servers/1abb3526-49bf-48f5-be65-fc09f14deb4a used request id req-4a103bfd-9385-4310-9178-fb11c6f47f6b 152s DEBUG (session:517) REQ: curl -g -i -X GET https://glance.ps7.canonical.com:9292/v2/images/011be5ba-3d23-459d-9a9a-537803b22566 -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}3aed66f7755d3cf66541fd403f89ca939537c79f6238dc8188a842ea4de64315" -H "X-OpenStack-Nova-API-Version: 2.87" 152s DEBUG (connectionpool:429) https://glance.ps7.canonical.com:9292 "GET /v2/images/011be5ba-3d23-459d-9a9a-537803b22566 HTTP/1.1" 200 2267 152s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 2267 Content-Type: application/json Date: Fri, 30 Jan 2026 06:11:38 GMT Keep-Alive: timeout=75, max=999 Server: Apache/2.4.52 (Ubuntu) X-Openstack-Request-Id: req-9a67bb64-db72-4f8b-a601-16f36b99ef1a 152s DEBUG (session:580) RESP BODY: {"architecture": "ppc64le", "base_image_ref": "9b0c7073-6832-42f8-bffe-d26e1b353256", "boot_roles": "load-balancer_member,member,reader", "content_id": "auto.sync", "hw_cdrom_bus": "scsi", "hw_disk_bus": "virtio", "hw_machine_type": "pseries", "hw_video_model": "vga", "hw_vif_model": "virtio", "image_location": "snapshot", "image_state": "available", "image_type": "snapshot", "img_config_drive": "mandatory", "instance_uuid": "f517a061-a2eb-4f36-a6a1-a6822453f13f", "item_name": "disk1.img", "os_distro": "ubuntu", "os_version": "26.04", "owner_id": "9bf77f46fd6c4d3da81ee79a717acf43", "owner_project_name": "prod-autopkgtest-workers-ppc64el_project", "owner_user_name": "prod-autopkgtest-workers-ppc64el", "product_name": "com.ubuntu.cloud.daily:server:26.04:ppc64el", "simplestreams_metadata": "{\"aliases\": \"26.04,r,resolute,devel\", \"arch\": \"ppc64el\", \"ftype\": \"disk1.img\", \"label\": \"daily\", \"os\": \"ubuntu\", \"pubname\": \"ubuntu-resolute-daily-ppc64el-server-20260109\", \"release\": \"resolute\", \"release_codename\": \"Resolute Raccoon\", \"release_title\": \"2", "source_content_id": "com.ubuntu.cloud:daily:download", "user_id": "20f4f30c2cfd4bfe806cd0db10c0e446", "version_name": "20260109", "name": "adt/ubuntu-resolute-ppc64el-server-20260129.img", "disk_format": "qcow2", "container_format": "bare", "visibility": "private", "size": 3595960320, "virtual_size": 21474836480, "status": "active", "checksum": "add36b33416f2c02c6418fddc8556aa5", "protected": false, "min_ram": 0, "min_disk": 20, "owner": "9bf77f46fd6c4d3da81ee79a717acf43", "os_hidden": false, "os_hash_algo": "sha256", "os_hash_value": "127e9986c3fee98bee97e3f4c855af97691e8cadf4aca00e4f0bf5c2a75dc3fb", "id": "011be5ba-3d23-459d-9a9a-537803b22566", "created_at": "2026-01-29T01:16:07Z", "updated_at": "2026-01-29T01:17:34Z", "locations": [{"url": "rbd://d8b83d88-b70a-11ef-be0b-2390f458e7bc/glance/011be5ba-3d23-459d-9a9a-537803b22566/snap", "metadata": {"store": "ceph"}}], "direct_url": "rbd://d8b83d88-b70a-11ef-be0b-2390f458e7bc/glance/011be5ba-3d23-459d-9a9a-537803b22566/snap", "tags": [], "self": "/v2/images/011be5ba-3d23-459d-9a9a-537803b22566", "file": "/v2/images/011be5ba-3d23-459d-9a9a-537803b22566/file", "schema": "/v2/schemas/image", "stores": "ceph"} 152s DEBUG (session:936) GET call to image for https://glance.ps7.canonical.com:9292/v2/images/011be5ba-3d23-459d-9a9a-537803b22566 used request id req-9a67bb64-db72-4f8b-a601-16f36b99ef1a 152s +--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ 152s | Property | Value | 152s +--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+ 152s | OS-DCF:diskConfig | MANUAL | 152s | OS-EXT-AZ:availability_zone | | 152s | OS-EXT-SRV-ATTR:host | - | 152s | OS-EXT-SRV-ATTR:hostname | adt-resolute-ppc64el-translate-toolkit-20260130-060910-juju-7f2 | 152s | OS-EXT-SRV-ATTR:hypervisor_hostname | - | 152s | OS-EXT-SRV-ATTR:instance_name | | 152s | OS-EXT-SRV-ATTR:kernel_id | | 152s | OS-EXT-SRV-ATTR:launch_index | 0 | 152s | OS-EXT-SRV-ATTR:ramdisk_id | | 152s | OS-EXT-SRV-ATTR:reservation_id | r-im9wt5uy | 152s | OS-EXT-SRV-ATTR:root_device_name | - | 152s | OS-EXT-STS:power_state | 0 | 152s | OS-EXT-STS:task_state | scheduling | 152s | OS-EXT-STS:vm_state | building | 152s | OS-SRV-USG:launched_at | - | 152s | OS-SRV-USG:terminated_at | - | 152s | accessIPv4 | | 152s | accessIPv6 | | 152s | adminPass | sAvVRdQ7JubB | 152s | config_drive | | 152s | created | 2026-01-30T06:11:38Z | 152s | description | - | 152s | flavor:disk | 20 | 152s | flavor:ephemeral | 0 | 152s | flavor:extra_specs | {"aggregate_instance_extra_specs:commit": "ppc64el", "hw:cpu_policy": "shared", "hw:mem_page_size": "large", "hw:pci_numa_affinity_policy": "preferred"} | 152s | flavor:original_name | autopkgtest-cpu2-ram4-disk20-ppc64el | 152s | flavor:ram | 4096 | 152s | flavor:swap | 0 | 152s | flavor:vcpus | 2 | 152s | hostId | | 152s | id | 1abb3526-49bf-48f5-be65-fc09f14deb4a | 152s | image | adt/ubuntu-resolute-ppc64el-server-20260129.img (011be5ba-3d23-459d-9a9a-537803b22566) | 152s | key_name | testbed-juju-7f2275-prod-proposed-migration-environment-20 | 152s | locked | False | 152s | locked_reason | - | 152s | metadata | {} | 152s | name | adt-resolute-ppc64el-translate-toolkit-20260130-060910-juju-7f2275-prod-proposed-migration-environment-20-64f04fde-c3da-4de1-92d5-8666d8976d7e | 152s | os-extended-volumes:volumes_attached | [] | 152s | progress | 0 | 152s | security_groups | autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@sto01-ppc64el-17.secgroup | 152s | server_groups | [] | 152s | status | BUILD | 152s | tags | [] | 152s | tenant_id | 9bf77f46fd6c4d3da81ee79a717acf43 | 152s | trusted_image_certificates | - | 152s | updated | 2026-01-30T06:11:38Z | 152s | user_id | 20f4f30c2cfd4bfe806cd0db10c0e446 | 152s +--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------+DEBUG (session:517) REQ: curl -g -i -X GET https://nova.ps7.canonical.com:8774/v2.1/servers/1abb3526-49bf-48f5-be65-fc09f14deb4a -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}3aed66f7755d3cf66541fd403f89ca939537c79f6238dc8188a842ea4de64315" -H "X-OpenStack-Nova-API-Version: 2.87" 152s DEBUG (connectionpool:429) https://nova.ps7.canonical.com:8774 "GET /v2.1/servers/1abb3526-49bf-48f5-be65-fc09f14deb4a HTTP/1.1" 200 2743 152s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 2743 Content-Type: application/json Date: Fri, 30 Jan 2026 06:11:38 GMT Keep-Alive: timeout=75, max=993 OpenStack-API-Version: compute 2.87 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.87 x-compute-request-id: req-d07b59a1-77d3-4207-a3da-96247c9be9c4 x-openstack-request-id: req-d07b59a1-77d3-4207-a3da-96247c9be9c4 152s DEBUG (session:580) RESP BODY: {"server": {"id": "1abb3526-49bf-48f5-be65-fc09f14deb4a", "name": "adt-resolute-ppc64el-translate-toolkit-20260130-060910-juju-7f2275-prod-proposed-migration-environment-20-64f04fde-c3da-4de1-92d5-8666d8976d7e", "status": "BUILD", "tenant_id": "9bf77f46fd6c4d3da81ee79a717acf43", "user_id": "20f4f30c2cfd4bfe806cd0db10c0e446", "metadata": {}, "hostId": "", "image": {"id": "011be5ba-3d23-459d-9a9a-537803b22566", "links": [{"rel": "bookmark", "href": "https://nova.ps7.canonical.com:8774/images/011be5ba-3d23-459d-9a9a-537803b22566"}]}, "flavor": {"vcpus": 2, "ram": 4096, "disk": 20, "ephemeral": 0, "swap": 0, "original_name": "autopkgtest-cpu2-ram4-disk20-ppc64el", "extra_specs": {"aggregate_instance_extra_specs:commit": "ppc64el", "hw:cpu_policy": "shared", "hw:mem_page_size": "large", "hw:pci_numa_affinity_policy": "preferred"}}, "created": "2026-01-30T06:11:38Z", "updated": "2026-01-30T06:11:38Z", "addresses": {}, "accessIPv4": "", "accessIPv6": "", "links": [{"rel": "self", "href": "https://nova.ps7.canonical.com:8774/v2.1/servers/1abb3526-49bf-48f5-be65-fc09f14deb4a"}, {"rel": "bookmark", "href": "https://nova.ps7.canonical.com:8774/servers/1abb3526-49bf-48f5-be65-fc09f14deb4a"}], "OS-DCF:diskConfig": "MANUAL", "progress": 0, "OS-EXT-AZ:availability_zone": "", "config_drive": "", "key_name": "testbed-juju-7f2275-prod-proposed-migration-environment-20", "OS-SRV-USG:launched_at": null, "OS-SRV-USG:terminated_at": null, "OS-EXT-SRV-ATTR:host": null, "OS-EXT-SRV-ATTR:instance_name": "instance-00018e38", "OS-EXT-SRV-ATTR:hypervisor_hostname": null, "OS-EXT-SRV-ATTR:reservation_id": "r-im9wt5uy", "OS-EXT-SRV-ATTR:launch_index": 0, "OS-EXT-SRV-ATTR:hostname": "adt-resolute-ppc64el-translate-toolkit-20260130-060910-juju-7f2", "OS-EXT-SRV-ATTR:kernel_id": "", "OS-EXT-SRV-ATTR:ramdisk_id": "", "OS-EXT-SRV-ATTR:root_device_name": null, "OS-EXT-SRV-ATTR:user_data": "I2Nsb3VkLWNvbmZpZwpob3N0bmFtZTogYXV0b3BrZ3Rlc3QKZnFkbjogYXV0b3BrZ3Rlc3QubG9jYWwKbWFuYWdlX2V0Y19ob3N0czogdHJ1ZQphcHRfdXBkYXRlOiB0cnVlCmFwdF91cGdyYWRlOiBmYWxzZQphcHRfbWlycm9yOiBodHRwOi8vZnRwbWFzdGVyLmludGVybmFsL3VidW50dS8KCnJ1bmNtZDoKIC0gZWNobyAnQWNxdWlyZTo6TGFuZ3VhZ2VzICJub25lIjsnID4gL2V0Yy9hcHQvYXB0LmNvbmYuZC85MG5vbGFuZ3VhZ2VzCiAtIGVjaG8gJ2ZvcmNlLXVuc2FmZS1pbycgPiAvZXRjL2Rwa2cvZHBrZy5jZmcuZC9hdXRvcGtndGVzdAogLSBwcmludGYgJ1xuVEVSTT1saW51eFxuJyA+PiAvZXRjL2Vudmlyb25tZW50CiAtIHNlZCAtaSAtciAnL14xMjcuMC4xLjEvIHMvYXV0b3BrZ3Rlc3QtW14gXStcLi9hdXRvcGtndGVzdFwuLycgL2V0Yy9ob3N0cwo=", "OS-EXT-STS:task_state": "scheduling", "OS-EXT-STS:vm_state": "building", "OS-EXT-STS:power_state": 0, "os-extended-volumes:volumes_attached": [], "locked": false, "locked_reason": null, "description": null, "tags": [], "trusted_image_certificates": null, "server_groups": []}} 152s DEBUG (session:936) GET call to compute for https://nova.ps7.canonical.com:8774/v2.1/servers/1abb3526-49bf-48f5-be65-fc09f14deb4a used request id req-d07b59a1-77d3-4207-a3da-96247c9be9c4 152s 152s 152s Server building... 0% completeDEBUG (session:517) REQ: curl -g -i -X GET https://nova.ps7.canonical.com:8774/v2.1/servers/1abb3526-49bf-48f5-be65-fc09f14deb4a -H "Accept: application/json" -H "OpenStack-API-Version: compute 2.87" -H "User-Agent: python-novaclient" -H "X-Auth-Token: {SHA256}3aed66f7755d3cf66541fd403f89ca939537c79f6238dc8188a842ea4de64315" -H "X-OpenStack-Nova-API-Version: 2.87" 152s DEBUG (connectionpool:429) https://nova.ps7.canonical.com:8774 "GET /v2.1/servers/1abb3526-49bf-48f5-be65-fc09f14deb4a HTTP/1.1" 200 2853 152s DEBUG (session:548) RESP: [200] Connection: Keep-Alive Content-Length: 2853 Content-Type: application/json Date: Fri, 30 Jan 2026 06:11:43 GMT Keep-Alive: timeout=75, max=992 OpenStack-API-Version: compute 2.87 Server: Apache/2.4.52 (Ubuntu) Vary: OpenStack-API-Version,X-OpenStack-Nova-API-Version X-OpenStack-Nova-API-Version: 2.87 x-compute-request-id: req-20afbb76-b9e4-4374-9478-d2dc935dc847 x-openstack-request-id: req-20afbb76-b9e4-4374-9478-d2dc935dc847 152s DEBUG (session:580) RESP BODY: {"server": {"id": "1abb3526-49bf-48f5-be65-fc09f14deb4a", "name": "adt-resolute-ppc64el-translate-toolkit-20260130-060910-juju-7f2275-prod-proposed-migration-environment-20-64f04fde-c3da-4de1-92d5-8666d8976d7e", "status": "ERROR", "tenant_id": "9bf77f46fd6c4d3da81ee79a717acf43", "user_id": "20f4f30c2cfd4bfe806cd0db10c0e446", "metadata": {}, "hostId": "", "image": {"id": "011be5ba-3d23-459d-9a9a-537803b22566", "links": [{"rel": "bookmark", "href": "https://nova.ps7.canonical.com:8774/images/011be5ba-3d23-459d-9a9a-537803b22566"}]}, "flavor": {"vcpus": 2, "ram": 4096, "disk": 20, "ephemeral": 0, "swap": 0, "original_name": "autopkgtest-cpu2-ram4-disk20-ppc64el", "extra_specs": {"aggregate_instance_extra_specs:commit": "ppc64el", "hw:cpu_policy": "shared", "hw:mem_page_size": "large", "hw:pci_numa_affinity_policy": "preferred"}}, "created": "2026-01-30T06:11:38Z", "updated": "2026-01-30T06:11:38Z", "addresses": {}, "accessIPv4": "", "accessIPv6": "", "links": [{"rel": "self", "href": "https://nova.ps7.canonical.com:8774/v2.1/servers/1abb3526-49bf-48f5-be65-fc09f14deb4a"}, {"rel": "bookmark", "href": "https://nova.ps7.canonical.com:8774/servers/1abb3526-49bf-48f5-be65-fc09f14deb4a"}], "OS-DCF:diskConfig": "MANUAL", "fault": {"code": 500, "created": "2026-01-30T06:11:38Z", "message": "No valid host was found. There are not enough hosts available."}, "OS-EXT-AZ:availability_zone": "", "config_drive": "", "key_name": "testbed-juju-7f2275-prod-proposed-migration-environment-20", "OS-SRV-USG:launched_at": null, "OS-SRV-USG:terminated_at": null, "OS-EXT-SRV-ATTR:host": null, "OS-EXT-SRV-ATTR:instance_name": "instance-00018e38", "OS-EXT-SRV-ATTR:hypervisor_hostname": null, "OS-EXT-SRV-ATTR:reservation_id": "r-im9wt5uy", "OS-EXT-SRV-ATTR:launch_index": 0, "OS-EXT-SRV-ATTR:hostname": "adt-resolute-ppc64el-translate-toolkit-20260130-060910-juju-7f2", "OS-EXT-SRV-ATTR:kernel_id": "", "OS-EXT-SRV-ATTR:ramdisk_id": "", "OS-EXT-SRV-ATTR:root_device_name": null, "OS-EXT-SRV-ATTR:user_data": "I2Nsb3VkLWNvbmZpZwpob3N0bmFtZTogYXV0b3BrZ3Rlc3QKZnFkbjogYXV0b3BrZ3Rlc3QubG9jYWwKbWFuYWdlX2V0Y19ob3N0czogdHJ1ZQphcHRfdXBkYXRlOiB0cnVlCmFwdF91cGdyYWRlOiBmYWxzZQphcHRfbWlycm9yOiBodHRwOi8vZnRwbWFzdGVyLmludGVybmFsL3VidW50dS8KCnJ1bmNtZDoKIC0gZWNobyAnQWNxdWlyZTo6TGFuZ3VhZ2VzICJub25lIjsnID4gL2V0Yy9hcHQvYXB0LmNvbmYuZC85MG5vbGFuZ3VhZ2VzCiAtIGVjaG8gJ2ZvcmNlLXVuc2FmZS1pbycgPiAvZXRjL2Rwa2cvZHBrZy5jZmcuZC9hdXRvcGtndGVzdAogLSBwcmludGYgJ1xuVEVSTT1saW51eFxuJyA+PiAvZXRjL2Vudmlyb25tZW50CiAtIHNlZCAtaSAtciAnL14xMjcuMC4xLjEvIHMvYXV0b3BrZ3Rlc3QtW14gXStcLi9hdXRvcGtndGVzdFwuLycgL2V0Yy9ob3N0cwo=", "OS-EXT-STS:task_state": null, "OS-EXT-STS:vm_state": "error", "OS-EXT-STS:power_state": 0, "os-extended-volumes:volumes_attached": [], "locked": false, "locked_reason": null, "description": null, "tags": [], "trusted_image_certificates": null, "server_groups": []}} 152s DEBUG (session:936) GET call to compute for https://nova.ps7.canonical.com:8774/v2.1/servers/1abb3526-49bf-48f5-be65-fc09f14deb4a used request id req-20afbb76-b9e4-4374-9478-d2dc935dc847 152s DEBUG (shell:822) 152s Traceback (most recent call last): 152s File "/usr/lib/python3/dist-packages/novaclient/shell.py", line 820, in main 152s OpenStackComputeShell().main(argv) 152s File "/usr/lib/python3/dist-packages/novaclient/shell.py", line 742, in main 152s args.func(self.cs, args) 152s File "/usr/lib/python3/dist-packages/novaclient/v2/shell.py", line 980, in do_boot 152s _poll_for_status(cs.servers.get, server.id, 'building', ['active']) 152s File "/usr/lib/python3/dist-packages/novaclient/v2/shell.py", line 1019, in _poll_for_status 152s raise exceptions.ResourceInErrorState(obj) 152s novaclient.exceptions.ResourceInErrorState: 152s ERROR (ResourceInErrorState): 152s 152s Error building server 502s autopkgtest [06:17:33]: testbed dpkg architecture: ppc64el 502s autopkgtest [06:17:33]: testbed apt version: 3.1.14 503s autopkgtest [06:17:34]: @@@@@@@@@@@@@@@@@@@@ test bed setup 503s autopkgtest [06:17:34]: testbed release detected to be: resolute 504s autopkgtest [06:17:35]: updating testbed package index (apt update) 504s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 504s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 504s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 504s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 504s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [33.0 kB] 504s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [103 kB] 504s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [2820 B] 504s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1600 kB] 505s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el Packages [119 kB] 505s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/universe ppc64el Packages [1131 kB] 505s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse ppc64el Packages [22.2 kB] 505s Fetched 3136 kB in 1s (2874 kB/s) 506s Reading package lists... 506s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 507s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 507s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 507s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 507s Reading package lists... 507s Reading package lists... 508s Building dependency tree... 508s Reading state information... 508s Calculating upgrade... 508s The following packages will be upgraded: 508s bzip2 gcc-15-base inetutils-telnet libatomic1 libbz2-1.0 libgcc-s1 508s libsgutils2-1.48 libsqlite3-0 libstdc++6 sg3-utils sg3-utils-udev telnet 508s 12 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 508s Need to get 3302 kB of archives. 508s After this operation, 3072 B of additional disk space will be used. 508s Get:1 http://ftpmaster.internal/ubuntu resolute/main ppc64el libatomic1 ppc64el 15.2.0-12ubuntu1 [11.0 kB] 508s Get:2 http://ftpmaster.internal/ubuntu resolute/main ppc64el libstdc++6 ppc64el 15.2.0-12ubuntu1 [922 kB] 508s Get:3 http://ftpmaster.internal/ubuntu resolute/main ppc64el gcc-15-base ppc64el 15.2.0-12ubuntu1 [59.6 kB] 508s Get:4 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgcc-s1 ppc64el 15.2.0-12ubuntu1 [40.2 kB] 508s Get:5 http://ftpmaster.internal/ubuntu resolute/main ppc64el bzip2 ppc64el 1.0.8-6build2 [37.6 kB] 508s Get:6 http://ftpmaster.internal/ubuntu resolute/main ppc64el libbz2-1.0 ppc64el 1.0.8-6build2 [47.7 kB] 508s Get:7 http://ftpmaster.internal/ubuntu resolute/main ppc64el libsqlite3-0 ppc64el 3.46.1-9 [825 kB] 508s Get:8 http://ftpmaster.internal/ubuntu resolute/main ppc64el inetutils-telnet ppc64el 2:2.7-2ubuntu1 [125 kB] 508s Get:9 http://ftpmaster.internal/ubuntu resolute/main ppc64el telnet all 0.17+2.7-2ubuntu1 [3636 B] 508s Get:10 http://ftpmaster.internal/ubuntu resolute/main ppc64el libsgutils2-1.48 ppc64el 1.48-3ubuntu2 [143 kB] 508s Get:11 http://ftpmaster.internal/ubuntu resolute/main ppc64el sg3-utils ppc64el 1.48-3ubuntu2 [1080 kB] 508s Get:12 http://ftpmaster.internal/ubuntu resolute/main ppc64el sg3-utils-udev all 1.48-3ubuntu2 [6610 B] 509s dpkg-preconfigure: unable to re-open stdin: No such file or directory 509s Fetched 3302 kB in 0s (12.0 MB/s) 509s (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 ... 120856 files and directories currently installed.) 509s Preparing to unpack .../libatomic1_15.2.0-12ubuntu1_ppc64el.deb ... 509s Unpacking libatomic1:ppc64el (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 509s Preparing to unpack .../libstdc++6_15.2.0-12ubuntu1_ppc64el.deb ... 509s Unpacking libstdc++6:ppc64el (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 510s Preparing to unpack .../gcc-15-base_15.2.0-12ubuntu1_ppc64el.deb ... 510s Unpacking gcc-15-base:ppc64el (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 510s Setting up gcc-15-base:ppc64el (15.2.0-12ubuntu1) ... 510s (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 ... 120856 files and directories currently installed.) 510s Preparing to unpack .../libgcc-s1_15.2.0-12ubuntu1_ppc64el.deb ... 510s Unpacking libgcc-s1:ppc64el (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 510s Setting up libgcc-s1:ppc64el (15.2.0-12ubuntu1) ... 510s (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 ... 120856 files and directories currently installed.) 510s Preparing to unpack .../bzip2_1.0.8-6build2_ppc64el.deb ... 511s Unpacking bzip2 (1.0.8-6build2) over (1.0.8-6build1) ... 511s Preparing to unpack .../libbz2-1.0_1.0.8-6build2_ppc64el.deb ... 511s Unpacking libbz2-1.0:ppc64el (1.0.8-6build2) over (1.0.8-6build1) ... 511s Setting up libbz2-1.0:ppc64el (1.0.8-6build2) ... 512s (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 ... 120856 files and directories currently installed.) 512s Preparing to unpack .../0-libsqlite3-0_3.46.1-9_ppc64el.deb ... 512s Unpacking libsqlite3-0:ppc64el (3.46.1-9) over (3.46.1-8) ... 512s Preparing to unpack .../1-inetutils-telnet_2%3a2.7-2ubuntu1_ppc64el.deb ... 512s Unpacking inetutils-telnet (2:2.7-2ubuntu1) over (2:2.6-4ubuntu1) ... 512s Preparing to unpack .../2-telnet_0.17+2.7-2ubuntu1_all.deb ... 513s Unpacking telnet (0.17+2.7-2ubuntu1) over (0.17+2.6-4ubuntu1) ... 513s Preparing to unpack .../3-libsgutils2-1.48_1.48-3ubuntu2_ppc64el.deb ... 513s Unpacking libsgutils2-1.48:ppc64el (1.48-3ubuntu2) over (1.48-3ubuntu1) ... 513s Preparing to unpack .../4-sg3-utils_1.48-3ubuntu2_ppc64el.deb ... 513s Unpacking sg3-utils (1.48-3ubuntu2) over (1.48-3ubuntu1) ... 513s Preparing to unpack .../5-sg3-utils-udev_1.48-3ubuntu2_all.deb ... 514s Unpacking sg3-utils-udev (1.48-3ubuntu2) over (1.48-3ubuntu1) ... 514s Setting up libsqlite3-0:ppc64el (3.46.1-9) ... 514s Setting up inetutils-telnet (2:2.7-2ubuntu1) ... 514s Setting up libsgutils2-1.48:ppc64el (1.48-3ubuntu2) ... 514s Setting up bzip2 (1.0.8-6build2) ... 514s Setting up libatomic1:ppc64el (15.2.0-12ubuntu1) ... 514s Setting up libstdc++6:ppc64el (15.2.0-12ubuntu1) ... 514s Setting up sg3-utils (1.48-3ubuntu2) ... 514s Setting up telnet (0.17+2.7-2ubuntu1) ... 515s Setting up sg3-utils-udev (1.48-3ubuntu2) ... 515s update-initramfs: deferring update (trigger activated) 515s Processing triggers for libc-bin (2.42-2ubuntu4) ... 515s Processing triggers for man-db (2.13.1-1) ... 518s Processing triggers for initramfs-tools (0.150ubuntu7) ... 518s update-initramfs: Generating /boot/initrd.img-6.18.0-9-generic 529s autopkgtest [06:18:00]: upgrading testbed (apt dist-upgrade and autopurge) 529s Reading package lists... 529s Building dependency tree... 529s Reading state information... 529s Calculating upgrade... 529s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 529s Reading package lists... 530s Building dependency tree... 530s Reading state information... 530s Solving dependencies... 530s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 530s autopkgtest [06:18:01]: rebooting testbed after setup commands that affected boot 573s Reading package lists... 573s Building dependency tree... 573s Reading state information... 573s Solving dependencies... 573s The following NEW packages will be installed: 573s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 573s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 573s libhunspell-1.7-0 libpython3.14-minimal libpython3.14-stdlib libserf-1-1 573s libsvn1 libutf8proc3 libxapian30 libxslt1.1 python3-aeidon python3-all 573s python3-bs4 python3-charset-normalizer python3-cheroot 573s python3-diff-match-patch python3-enchant python3-iniconfig python3-iniparse 573s python3-levenshtein python3-lxml python3-mistletoe python3-phply 573s python3-pluggy python3-ply python3-pycountry python3-pytest python3-pytz 573s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 573s python3-soupsieve python3-syrupy python3-tomlkit python3-translate 573s python3-unicode-segmentation-rs python3-vobject python3-xapian python3.14 573s python3.14-minimal subversion 573s 0 upgraded, 49 newly installed, 0 to remove and 0 not upgraded. 573s Need to get 20.9 MB of archives. 573s After this operation, 104 MB of additional disk space will be used. 573s Get:1 http://ftpmaster.internal/ubuntu resolute/main ppc64el libpython3.14-minimal ppc64el 3.14.2-1 [921 kB] 574s Get:2 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3.14-minimal ppc64el 3.14.2-1 [2712 kB] 574s Get:3 http://ftpmaster.internal/ubuntu resolute/main ppc64el emacsen-common all 3.0.8 [13.9 kB] 574s Get:4 http://ftpmaster.internal/ubuntu resolute/main ppc64el dictionaries-common all 1.31.3 [179 kB] 574s Get:5 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgomp1 ppc64el 15.2.0-12ubuntu1 [169 kB] 574s Get:6 http://ftpmaster.internal/ubuntu resolute/main ppc64el gettext ppc64el 0.23.2-1 [1177 kB] 574s Get:7 http://ftpmaster.internal/ubuntu resolute/main ppc64el hunspell-en-us all 1:2020.12.07-4build1 [585 kB] 574s Get:8 http://ftpmaster.internal/ubuntu resolute/main ppc64el libapr1t64 ppc64el 1.7.6-3 [141 kB] 574s Get:9 http://ftpmaster.internal/ubuntu resolute/main ppc64el libaprutil1t64 ppc64el 1.6.3-3ubuntu3 [113 kB] 574s Get:10 http://ftpmaster.internal/ubuntu resolute/main ppc64el libaspell15 ppc64el 0.60.8.1-6 [393 kB] 574s Get:11 http://ftpmaster.internal/ubuntu resolute/main ppc64el libhunspell-1.7-0 ppc64el 1.7.2+really1.7.2-11 [327 kB] 574s Get:12 http://ftpmaster.internal/ubuntu resolute/main ppc64el libenchant-2-2 ppc64el 2.8.2+dfsg1-3build1 [67.8 kB] 574s Get:13 http://ftpmaster.internal/ubuntu resolute/main ppc64el libexttextcat-data all 3.4.7-1ubuntu2 [193 kB] 574s Get:14 http://ftpmaster.internal/ubuntu resolute/main ppc64el libpython3.14-stdlib ppc64el 3.14.2-1 [2444 kB] 574s Get:15 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libserf-1-1 ppc64el 1.3.10-3ubuntu1 [56.6 kB] 574s Get:16 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libutf8proc3 ppc64el 2.10.0-2 [73.5 kB] 574s Get:17 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libsvn1 ppc64el 1.14.5-5 [1683 kB] 574s Get:18 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libxapian30 ppc64el 1.4.29-3 [810 kB] 574s Get:19 http://ftpmaster.internal/ubuntu resolute/main ppc64el libxslt1.1 ppc64el 1.1.43-0.3 [190 kB] 574s Get:20 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-aeidon all 1.15-2build1 [225 kB] 574s Get:21 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3.14 ppc64el 3.14.2-1 [816 kB] 574s Get:22 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-all ppc64el 3.13.9-3 [890 B] 574s Get:23 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-soupsieve all 2.8.3-1 [34.0 kB] 574s Get:24 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-bs4 all 4.14.3-2build1 [84.8 kB] 574s Get:25 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-charset-normalizer ppc64el 3.4.4-2 [175 kB] 574s Get:26 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-cheroot all 11.1.2+ds1-1 [81.5 kB] 574s Get:27 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-diff-match-patch all 20241021-1 [33.6 kB] 574s Get:28 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-enchant all 3.3.0-1 [35.0 kB] 574s Get:29 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-iniconfig all 2.1.0-2 [6962 B] 574s Get:30 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-rapidfuzz ppc64el 3.12.2+ds-1build1 [1467 kB] 574s Get:31 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-levenshtein ppc64el 0.27.1-2build1 [157 kB] 574s Get:32 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-lxml ppc64el 6.0.2-1 [2452 kB] 574s Get:33 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-mistletoe all 1.5.1-1 [41.7 kB] 574s Get:34 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-ply all 3.11-10 [45.9 kB] 574s Get:35 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-phply all 1.2.6-1build1 [50.6 kB] 574s Get:36 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pluggy all 1.6.0-2 [21.1 kB] 574s Get:37 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pytest all 9.0.2-2 [277 kB] 574s Get:38 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pytz all 2025.2-5 [32.4 kB] 574s Get:39 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-ruamel.yaml.clib ppc64el 0.2.15+ds-1 [230 kB] 574s Get:40 http://ftpmaster.internal/ubuntu resolute-proposed/universe ppc64el python3-ruamel.yaml all 0.18.10+ds-1build1 [127 kB] 574s Get:41 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-syrupy all 5.0.0-1 [47.9 kB] 574s Get:42 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-tomlkit all 0.13.3-2 [39.1 kB] 574s Get:43 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-translate all 3.18.1-1 [339 kB] 574s Get:44 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-unicode-segmentation-rs ppc64el 0.2.1-1 [293 kB] 574s Get:45 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-vobject all 0.9.9+dfsg-1 [41.5 kB] 574s Get:46 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-xapian ppc64el 1.4.29-1build1 [548 kB] 574s Get:47 http://ftpmaster.internal/ubuntu resolute/universe ppc64el subversion ppc64el 1.14.5-5 [942 kB] 574s Get:48 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-iniparse all 0.5.1-2 [21.4 kB] 574s Get:49 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 575s Preconfiguring packages ... 575s Fetched 20.9 MB in 1s (20.8 MB/s) 575s Selecting previously unselected package libpython3.14-minimal:ppc64el. 575s (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 ... 120856 files and directories currently installed.) 575s Preparing to unpack .../00-libpython3.14-minimal_3.14.2-1_ppc64el.deb ... 575s Unpacking libpython3.14-minimal:ppc64el (3.14.2-1) ... 575s Selecting previously unselected package python3.14-minimal. 575s Preparing to unpack .../01-python3.14-minimal_3.14.2-1_ppc64el.deb ... 575s Unpacking python3.14-minimal (3.14.2-1) ... 575s Selecting previously unselected package emacsen-common. 575s Preparing to unpack .../02-emacsen-common_3.0.8_all.deb ... 575s Unpacking emacsen-common (3.0.8) ... 575s Selecting previously unselected package dictionaries-common. 575s Preparing to unpack .../03-dictionaries-common_1.31.3_all.deb ... 575s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 575s Unpacking dictionaries-common (1.31.3) ... 575s Selecting previously unselected package libgomp1:ppc64el. 575s Preparing to unpack .../04-libgomp1_15.2.0-12ubuntu1_ppc64el.deb ... 575s Unpacking libgomp1:ppc64el (15.2.0-12ubuntu1) ... 575s Selecting previously unselected package gettext. 575s Preparing to unpack .../05-gettext_0.23.2-1_ppc64el.deb ... 575s Unpacking gettext (0.23.2-1) ... 575s Selecting previously unselected package hunspell-en-us. 575s Preparing to unpack .../06-hunspell-en-us_1%3a2020.12.07-4build1_all.deb ... 575s Unpacking hunspell-en-us (1:2020.12.07-4build1) ... 575s Selecting previously unselected package libapr1t64:ppc64el. 575s Preparing to unpack .../07-libapr1t64_1.7.6-3_ppc64el.deb ... 575s Unpacking libapr1t64:ppc64el (1.7.6-3) ... 575s Selecting previously unselected package libaprutil1t64:ppc64el. 576s Preparing to unpack .../08-libaprutil1t64_1.6.3-3ubuntu3_ppc64el.deb ... 576s Unpacking libaprutil1t64:ppc64el (1.6.3-3ubuntu3) ... 576s Selecting previously unselected package libaspell15:ppc64el. 576s Preparing to unpack .../09-libaspell15_0.60.8.1-6_ppc64el.deb ... 576s Unpacking libaspell15:ppc64el (0.60.8.1-6) ... 576s Selecting previously unselected package libhunspell-1.7-0:ppc64el. 576s Preparing to unpack .../10-libhunspell-1.7-0_1.7.2+really1.7.2-11_ppc64el.deb ... 576s Unpacking libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-11) ... 576s Selecting previously unselected package libenchant-2-2:ppc64el. 576s Preparing to unpack .../11-libenchant-2-2_2.8.2+dfsg1-3build1_ppc64el.deb ... 576s Unpacking libenchant-2-2:ppc64el (2.8.2+dfsg1-3build1) ... 576s Selecting previously unselected package libexttextcat-data. 576s Preparing to unpack .../12-libexttextcat-data_3.4.7-1ubuntu2_all.deb ... 576s Unpacking libexttextcat-data (3.4.7-1ubuntu2) ... 576s Selecting previously unselected package libpython3.14-stdlib:ppc64el. 576s Preparing to unpack .../13-libpython3.14-stdlib_3.14.2-1_ppc64el.deb ... 576s Unpacking libpython3.14-stdlib:ppc64el (3.14.2-1) ... 576s Selecting previously unselected package libserf-1-1:ppc64el. 576s Preparing to unpack .../14-libserf-1-1_1.3.10-3ubuntu1_ppc64el.deb ... 576s Unpacking libserf-1-1:ppc64el (1.3.10-3ubuntu1) ... 576s Selecting previously unselected package libutf8proc3:ppc64el. 576s Preparing to unpack .../15-libutf8proc3_2.10.0-2_ppc64el.deb ... 576s Unpacking libutf8proc3:ppc64el (2.10.0-2) ... 576s Selecting previously unselected package libsvn1:ppc64el. 576s Preparing to unpack .../16-libsvn1_1.14.5-5_ppc64el.deb ... 576s Unpacking libsvn1:ppc64el (1.14.5-5) ... 576s Selecting previously unselected package libxapian30:ppc64el. 576s Preparing to unpack .../17-libxapian30_1.4.29-3_ppc64el.deb ... 576s Unpacking libxapian30:ppc64el (1.4.29-3) ... 576s Selecting previously unselected package libxslt1.1:ppc64el. 576s Preparing to unpack .../18-libxslt1.1_1.1.43-0.3_ppc64el.deb ... 576s Unpacking libxslt1.1:ppc64el (1.1.43-0.3) ... 576s Selecting previously unselected package python3-aeidon. 576s Preparing to unpack .../19-python3-aeidon_1.15-2build1_all.deb ... 576s Unpacking python3-aeidon (1.15-2build1) ... 576s Selecting previously unselected package python3.14. 576s Preparing to unpack .../20-python3.14_3.14.2-1_ppc64el.deb ... 576s Unpacking python3.14 (3.14.2-1) ... 576s Selecting previously unselected package python3-all. 576s Preparing to unpack .../21-python3-all_3.13.9-3_ppc64el.deb ... 576s Unpacking python3-all (3.13.9-3) ... 576s Selecting previously unselected package python3-soupsieve. 576s Preparing to unpack .../22-python3-soupsieve_2.8.3-1_all.deb ... 576s Unpacking python3-soupsieve (2.8.3-1) ... 576s Selecting previously unselected package python3-bs4. 576s Preparing to unpack .../23-python3-bs4_4.14.3-2build1_all.deb ... 576s Unpacking python3-bs4 (4.14.3-2build1) ... 576s Selecting previously unselected package python3-charset-normalizer. 576s Preparing to unpack .../24-python3-charset-normalizer_3.4.4-2_ppc64el.deb ... 576s Unpacking python3-charset-normalizer (3.4.4-2) ... 576s Selecting previously unselected package python3-cheroot. 576s Preparing to unpack .../25-python3-cheroot_11.1.2+ds1-1_all.deb ... 576s Unpacking python3-cheroot (11.1.2+ds1-1) ... 576s Selecting previously unselected package python3-diff-match-patch. 576s Preparing to unpack .../26-python3-diff-match-patch_20241021-1_all.deb ... 576s Unpacking python3-diff-match-patch (20241021-1) ... 576s Selecting previously unselected package python3-enchant. 576s Preparing to unpack .../27-python3-enchant_3.3.0-1_all.deb ... 576s Unpacking python3-enchant (3.3.0-1) ... 576s Selecting previously unselected package python3-iniconfig. 576s Preparing to unpack .../28-python3-iniconfig_2.1.0-2_all.deb ... 576s Unpacking python3-iniconfig (2.1.0-2) ... 576s Selecting previously unselected package python3-rapidfuzz. 576s Preparing to unpack .../29-python3-rapidfuzz_3.12.2+ds-1build1_ppc64el.deb ... 576s Unpacking python3-rapidfuzz (3.12.2+ds-1build1) ... 576s Selecting previously unselected package python3-levenshtein. 576s Preparing to unpack .../30-python3-levenshtein_0.27.1-2build1_ppc64el.deb ... 576s Unpacking python3-levenshtein (0.27.1-2build1) ... 576s Selecting previously unselected package python3-lxml:ppc64el. 576s Preparing to unpack .../31-python3-lxml_6.0.2-1_ppc64el.deb ... 576s Unpacking python3-lxml:ppc64el (6.0.2-1) ... 576s Selecting previously unselected package python3-mistletoe. 576s Preparing to unpack .../32-python3-mistletoe_1.5.1-1_all.deb ... 576s Unpacking python3-mistletoe (1.5.1-1) ... 576s Selecting previously unselected package python3-ply. 576s Preparing to unpack .../33-python3-ply_3.11-10_all.deb ... 576s Unpacking python3-ply (3.11-10) ... 576s Selecting previously unselected package python3-phply. 576s Preparing to unpack .../34-python3-phply_1.2.6-1build1_all.deb ... 576s Unpacking python3-phply (1.2.6-1build1) ... 576s Selecting previously unselected package python3-pluggy. 576s Preparing to unpack .../35-python3-pluggy_1.6.0-2_all.deb ... 576s Unpacking python3-pluggy (1.6.0-2) ... 576s Selecting previously unselected package python3-pytest. 576s Preparing to unpack .../36-python3-pytest_9.0.2-2_all.deb ... 576s Unpacking python3-pytest (9.0.2-2) ... 576s Selecting previously unselected package python3-pytz. 576s Preparing to unpack .../37-python3-pytz_2025.2-5_all.deb ... 576s Unpacking python3-pytz (2025.2-5) ... 576s Selecting previously unselected package python3-ruamel.yaml.clib. 576s Preparing to unpack .../38-python3-ruamel.yaml.clib_0.2.15+ds-1_ppc64el.deb ... 576s Unpacking python3-ruamel.yaml.clib (0.2.15+ds-1) ... 576s Selecting previously unselected package python3-ruamel.yaml. 576s Preparing to unpack .../39-python3-ruamel.yaml_0.18.10+ds-1build1_all.deb ... 576s Unpacking python3-ruamel.yaml (0.18.10+ds-1build1) ... 576s Selecting previously unselected package python3-syrupy. 576s Preparing to unpack .../40-python3-syrupy_5.0.0-1_all.deb ... 576s Unpacking python3-syrupy (5.0.0-1) ... 576s Selecting previously unselected package python3-tomlkit. 576s Preparing to unpack .../41-python3-tomlkit_0.13.3-2_all.deb ... 576s Unpacking python3-tomlkit (0.13.3-2) ... 576s Selecting previously unselected package python3-translate. 576s Preparing to unpack .../42-python3-translate_3.18.1-1_all.deb ... 576s Unpacking python3-translate (3.18.1-1) ... 576s Selecting previously unselected package python3-unicode-segmentation-rs. 576s Preparing to unpack .../43-python3-unicode-segmentation-rs_0.2.1-1_ppc64el.deb ... 576s Unpacking python3-unicode-segmentation-rs (0.2.1-1) ... 576s Selecting previously unselected package python3-vobject. 576s Preparing to unpack .../44-python3-vobject_0.9.9+dfsg-1_all.deb ... 576s Unpacking python3-vobject (0.9.9+dfsg-1) ... 576s Selecting previously unselected package python3-xapian. 576s Preparing to unpack .../45-python3-xapian_1.4.29-1build1_ppc64el.deb ... 576s Unpacking python3-xapian (1.4.29-1build1) ... 577s Selecting previously unselected package subversion. 577s Preparing to unpack .../46-subversion_1.14.5-5_ppc64el.deb ... 577s Unpacking subversion (1.14.5-5) ... 577s Selecting previously unselected package python3-iniparse. 577s Preparing to unpack .../47-python3-iniparse_0.5.1-2_all.deb ... 577s Unpacking python3-iniparse (0.5.1-2) ... 577s Selecting previously unselected package python3-pycountry. 577s Preparing to unpack .../48-python3-pycountry_24.6.1+ds1-1_all.deb ... 577s Unpacking python3-pycountry (24.6.1+ds1-1) ... 577s Setting up python3-iniconfig (2.1.0-2) ... 577s Setting up libxapian30:ppc64el (1.4.29-3) ... 577s Setting up python3-rapidfuzz (3.12.2+ds-1build1) ... 577s Setting up python3-diff-match-patch (20241021-1) ... 577s Setting up python3-aeidon (1.15-2build1) ... 578s Setting up libutf8proc3:ppc64el (2.10.0-2) ... 578s Setting up libaspell15:ppc64el (0.60.8.1-6) ... 578s Setting up python3-charset-normalizer (3.4.4-2) ... 578s Setting up python3-ply (3.11-10) ... 578s Setting up libpython3.14-minimal:ppc64el (3.14.2-1) ... 578s Setting up python3-ruamel.yaml.clib (0.2.15+ds-1) ... 578s Setting up python3-pytz (2025.2-5) ... 578s Setting up python3-unicode-segmentation-rs (0.2.1-1) ... 578s Setting up libgomp1:ppc64el (15.2.0-12ubuntu1) ... 578s Setting up emacsen-common (3.0.8) ... 578s Setting up python3-cheroot (11.1.2+ds1-1) ... 579s Setting up python3-pycountry (24.6.1+ds1-1) ... 579s Setting up python3-xapian (1.4.29-1build1) ... 579s Setting up python3-pluggy (1.6.0-2) ... 579s Setting up python3-ruamel.yaml (0.18.10+ds-1build1) ... 580s Setting up python3-mistletoe (1.5.1-1) ... 580s Setting up libexttextcat-data (3.4.7-1ubuntu2) ... 580s Setting up libapr1t64:ppc64el (1.7.6-3) ... 580s Setting up libxslt1.1:ppc64el (1.1.43-0.3) ... 580s Setting up python3-levenshtein (0.27.1-2build1) ... 580s Setting up libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-11) ... 580s Setting up python3-tomlkit (0.13.3-2) ... 580s Setting up python3-soupsieve (2.8.3-1) ... 580s Setting up python3.14-minimal (3.14.2-1) ... 581s Setting up python3-iniparse (0.5.1-2) ... 581s Setting up libaprutil1t64:ppc64el (1.6.3-3ubuntu3) ... 581s Setting up python3-vobject (0.9.9+dfsg-1) ... 582s Setting up gettext (0.23.2-1) ... 582s Setting up python3-phply (1.2.6-1build1) ... 582s Setting up dictionaries-common (1.31.3) ... 582s Setting up libpython3.14-stdlib:ppc64el (3.14.2-1) ... 582s Setting up python3-pytest (9.0.2-2) ... 583s Setting up python3-syrupy (5.0.0-1) ... 583s Setting up libserf-1-1:ppc64el (1.3.10-3ubuntu1) ... 583s Setting up python3-bs4 (4.14.3-2build1) ... 583s Setting up python3-lxml:ppc64el (6.0.2-1) ... 584s Setting up hunspell-en-us (1:2020.12.07-4build1) ... 584s Setting up python3.14 (3.14.2-1) ... 585s Setting up libsvn1:ppc64el (1.14.5-5) ... 585s Setting up libenchant-2-2:ppc64el (2.8.2+dfsg1-3build1) ... 585s Setting up subversion (1.14.5-5) ... 585s Setting up python3-all (3.13.9-3) ... 585s Setting up python3-enchant (3.3.0-1) ... 585s Setting up python3-translate (3.18.1-1) ... 586s Processing triggers for libc-bin (2.42-2ubuntu4) ... 586s Processing triggers for systemd (259-1ubuntu2) ... 586s Processing triggers for man-db (2.13.1-1) ... 588s Processing triggers for install-info (7.2-5) ... 588s Processing triggers for dictionaries-common (1.31.3) ... 590s autopkgtest [06:19:01]: test python3-translate: [----------------------- 590s ============================= test session starts ============================== 590s platform linux -- Python 3.14.2, pytest-9.0.2, pluggy-1.6.0 -- /usr/bin/python3.14 590s cachedir: .pytest_cache 590s rootdir: /tmp/autopkgtest.Lga1Rh/autopkgtest_tmp 590s plugins: syrupy-5.0.0, typeguard-4.4.4 597s collecting ... collected 3902 items / 2 skipped 597s 597s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 597s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 597s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 597s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 597s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 597s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 597s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 597s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 597s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 597s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 597s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 597s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 597s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 597s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 597s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 597s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 597s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 597s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 597s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 597s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 597s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 597s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 597s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 597s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 597s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 597s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 597s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 597s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 597s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 597s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 597s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 597s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_line_numbers_in_errors PASSED [ 0%] 597s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 597s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 597s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 0%] 597s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 0%] 597s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 0%] 597s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 0%] 597s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 0%] 597s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 597s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_line_numbers_in_errors PASSED [ 1%] 597s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 597s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 1%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 597s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 597s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 597s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 2%] 597s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 2%] 597s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 2%] 597s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 2%] 597s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 2%] 597s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 2%] 597s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 2%] 597s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 2%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 2%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 2%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 2%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 2%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 2%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 2%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 3%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_ignore_attribute PASSED [ 4%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_translate_comment_directives PASSED [ 4%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_social_media_tags PASSED [ 4%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_non_translatable_tags_not_extracted PASSED [ 4%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_mixed_translatable_and_non_translatable PASSED [ 4%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_comment_attribute PASSED [ 4%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_comment_without_keepcomments PASSED [ 4%] 597s tests/translate/convert/test_html2po.py::TestHTML2PO::test_text_after_empty_tags PASSED [ 4%] 597s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 597s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 597s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 597s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 597s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 597s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 597s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 597s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 4%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_ignore_attribute PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_translate_comment_directives PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_social_media_tags PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_non_translatable_tags_not_extracted PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_mixed_translatable_and_non_translatable PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_comment_attribute PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_comment_without_keepcomments PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_text_after_empty_tags PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 598s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 5%] 598s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 5%] 598s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 5%] 598s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 5%] 598s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 5%] 598s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 5%] 598s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 5%] 598s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 5%] 598s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 5%] 598s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 5%] 598s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 5%] 598s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 5%] 598s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 5%] 598s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 5%] 598s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 598s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 598s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 598s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 598s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 598s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 598s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 598s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 598s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 598s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 598s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 598s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 598s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 598s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 598s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 598s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 598s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 598s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 598s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 598s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 6%] 598s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 6%] 598s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 6%] 598s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 6%] 598s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 6%] 598s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 6%] 598s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 6%] 598s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 6%] 598s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 6%] 598s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 6%] 598s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 6%] 598s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 6%] 598s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 6%] 598s tests/translate/convert/test_json2po.py::TestJson2PO::test_multiple_units PASSED [ 6%] 598s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 6%] 598s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 6%] 598s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 6%] 598s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_multiple_units PASSED [ 6%] 598s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 6%] 598s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 6%] 598s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 598s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 598s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 598s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 598s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_frontmatter PASSED [ 7%] 598s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_translation_ignore_sections PASSED [ 7%] 598s tests/translate/convert/test_moz2po.py::TestMoz2PO::test_duplicate_locations PASSED [ 7%] 598s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_duplicate_locations PASSED [ 7%] 598s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 598s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 598s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 598s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 598s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 598s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 598s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 598s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 598s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 598s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 598s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 7%] 598s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 7%] 598s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 7%] 598s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 7%] 598s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 7%] 598s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 7%] 598s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 7%] 598s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 7%] 598s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 7%] 598s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 7%] 598s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 7%] 598s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 7%] 598s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 7%] 598s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 7%] 598s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 7%] 598s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 7%] 598s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 7%] 598s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 7%] 598s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 7%] 598s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 7%] 598s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 7%] 598s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 598s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 598s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 598s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 598s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 598s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 598s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 598s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 598s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 598s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 598s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 598s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 598s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 598s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 8%] 598s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 8%] 598s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 8%] 598s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 8%] 598s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 8%] 598s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 8%] 598s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 8%] 598s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 8%] 598s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 598s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 8%] 598s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 598s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 598s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 598s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 598s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 598s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 598s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 8%] 598s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 598s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 8%] 598s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 598s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 598s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 8%] 598s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 8%] 598s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 8%] 598s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 8%] 598s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 8%] 598s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 9%] 598s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 9%] 598s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 9%] 598s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 9%] 598s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 9%] 598s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 9%] 598s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 9%] 598s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 9%] 598s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 9%] 598s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 9%] 598s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 9%] 598s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 598s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 598s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 10%] 598s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 10%] 598s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 10%] 598s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 10%] 598s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 10%] 598s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 10%] 598s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 10%] 598s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 10%] 598s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 10%] 598s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 10%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 11%] 598s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 11%] 598s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 11%] 598s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 11%] 598s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 11%] 598s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 11%] 598s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 11%] 598s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 11%] 598s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 11%] 598s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 11%] 598s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 11%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities_template_vs_po_mismatch PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_utf8_non_ascii_characters PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_custom_entities_preserved PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_auto_rtl PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_auto_ltr PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_added_when_missing PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_not_changed_without_lang_translation PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_button_translation PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_lang_attribute_only_on_html_tag PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_data_translate_ignore_preserved PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_translate_comment_directives_preserved PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_data_translate_ignore_with_translation_in_po PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_translate_comment_with_translation_in_po PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_meta_social_media_tags_translation PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2Html::test_meta_non_translatable_tags_preserved PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 12%] 598s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities_template_vs_po_mismatch PASSED [ 12%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_utf8_non_ascii_characters PASSED [ 12%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_custom_entities_preserved PASSED [ 12%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_auto_rtl PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_auto_ltr PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_added_when_missing PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_not_changed_without_lang_translation PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_button_translation PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_lang_attribute_only_on_html_tag PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_data_translate_ignore_preserved PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_translate_comment_directives_preserved PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_data_translate_ignore_with_translation_in_po PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_translate_comment_with_translation_in_po PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_meta_social_media_tags_translation PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_meta_non_translatable_tags_preserved PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 13%] 599s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 13%] 599s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 13%] 599s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 13%] 599s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 13%] 599s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 13%] 599s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 13%] 599s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 13%] 599s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 13%] 599s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 13%] 599s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 13%] 599s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 13%] 599s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 13%] 599s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 13%] 599s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 13%] 599s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 13%] 599s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 599s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 599s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 599s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 599s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 599s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 599s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 599s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 599s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 599s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 599s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 599s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 14%] 599s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 14%] 599s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 599s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 599s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 599s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 599s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 599s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 15%] 599s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 15%] 599s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 15%] 599s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 15%] 599s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 15%] 599s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 15%] 599s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 15%] 599s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 15%] 599s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 15%] 599s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 15%] 599s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 15%] 599s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_table XFAIL [ 15%] 599s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_frontmatter PASSED [ 15%] 599s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_translation_ignore_sections PASSED [ 15%] 599s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 15%] 599s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 15%] 599s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 15%] 599s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 15%] 599s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 15%] 599s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 15%] 599s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 15%] 599s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 15%] 599s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 15%] 599s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 15%] 599s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 15%] 599s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 15%] 599s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 15%] 599s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 15%] 599s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 15%] 599s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 15%] 599s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 15%] 599s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 15%] 599s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 15%] 599s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 15%] 599s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 599s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 599s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_help PASSED [ 16%] 599s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert PASSED [ 16%] 599s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert_with_multiple_units PASSED [ 16%] 599s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 599s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 16%] 599s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 16%] 599s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 16%] 599s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 16%] 599s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 16%] 599s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 16%] 599s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 16%] 599s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 16%] 599s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 16%] 599s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 16%] 599s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 16%] 599s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 16%] 599s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 16%] 599s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 16%] 599s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 16%] 599s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 16%] 599s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 16%] 599s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 16%] 599s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 16%] 599s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 16%] 599s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 16%] 599s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 16%] 599s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 16%] 599s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 16%] 599s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 16%] 599s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 16%] 599s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 16%] 599s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 16%] 599s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 16%] 599s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 16%] 599s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 16%] 599s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 16%] 599s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 16%] 599s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2Php::test_return_array_with_comments PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_return_array_with_comments PASSED [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 17%] 599s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 17%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 17%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 17%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 17%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 17%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 17%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 17%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_value_no_key PASSED [ 17%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 17%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 17%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 17%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 17%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_utf16_with_empty_lines PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_value_no_key PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 18%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 19%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 19%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 19%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_utf16_with_empty_lines PASSED [ 19%] 599s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 19%] 599s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 19%] 599s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 19%] 599s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 19%] 599s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 19%] 599s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 19%] 599s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 19%] 599s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 19%] 600s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 19%] 600s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 19%] 600s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 19%] 600s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 19%] 600s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 19%] 600s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 19%] 600s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes_strintable PASSED [ 19%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 19%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 19%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 19%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 19%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 19%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 19%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 19%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 19%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 19%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 19%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 19%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 19%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 19%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 19%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 19%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 19%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 19%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 19%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_plus_in_resourcekey PASSED [ 19%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_special_chars_in_resourcekey PASSED [ 19%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 20%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 20%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 20%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 20%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 20%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 20%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 20%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 20%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 20%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 20%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 20%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 20%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 20%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 20%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 20%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 20%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_plus_in_resourcekey PASSED [ 20%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_special_chars_in_resourcekey PASSED [ 20%] 600s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 20%] 600s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 20%] 600s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 20%] 600s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 20%] 600s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 20%] 600s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 20%] 600s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 20%] 600s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 20%] 600s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 20%] 600s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 20%] 600s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 20%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 20%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 20%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 20%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 20%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 20%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 20%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 20%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 20%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 21%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 21%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 21%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 21%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 21%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 21%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 21%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 21%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 21%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 21%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 21%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 21%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 21%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 21%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 21%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 21%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 21%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 21%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 21%] 600s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context PASSED [ 21%] 600s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_simple_convert PASSED [ 21%] 600s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_nested_convert PASSED [ 21%] 600s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_template_required PASSED [ 21%] 600s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_untranslated_uses_source PASSED [ 21%] 600s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 21%] 600s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 21%] 600s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 21%] 600s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 21%] 600s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 21%] 600s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 21%] 600s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 21%] 600s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 21%] 600s tests/translate/convert/test_po2ts.py::TestPO2TS::test_plural PASSED [ 21%] 600s tests/translate/convert/test_po2ts.py::TestPO2TS::test_plural_fuzzy PASSED [ 21%] 600s tests/translate/convert/test_po2ts.py::TestPO2TS::test_unit_without_location PASSED [ 21%] 600s tests/translate/convert/test_po2ts.py::TestPO2TS::test_mixed_units_with_and_without_location PASSED [ 21%] 600s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 21%] 600s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 21%] 600s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 21%] 600s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 22%] 600s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 22%] 600s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 22%] 600s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 22%] 600s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 22%] 600s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_plural PASSED [ 22%] 600s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_plural_fuzzy PASSED [ 22%] 600s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_unit_without_location PASSED [ 22%] 600s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_mixed_units_with_and_without_location PASSED [ 22%] 600s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_substring_replacement PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_duplicate_text_segment_based_replacement PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_dokuwiki_flavour_segmentation PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_substring_replacement PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_duplicate_text_segment_based_replacement PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_dokuwiki_flavour_segmentation PASSED [ 22%] 600s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 22%] 600s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 22%] 600s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 22%] 600s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 22%] 600s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 22%] 600s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 22%] 600s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 22%] 600s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 23%] 600s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 23%] 600s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 23%] 600s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 23%] 600s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 23%] 600s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 23%] 600s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 23%] 600s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 23%] 600s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 23%] 600s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 23%] 600s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 23%] 600s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 23%] 600s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 23%] 600s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 23%] 600s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 23%] 600s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 23%] 600s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 23%] 600s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 23%] 600s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 23%] 600s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 23%] 600s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 23%] 600s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 23%] 600s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 23%] 600s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 23%] 600s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 23%] 600s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 23%] 600s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 23%] 600s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 23%] 600s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 23%] 600s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 23%] 600s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 23%] 600s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 23%] 600s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 23%] 600s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 23%] 600s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 23%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 23%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 23%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 23%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 23%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overrides_old PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurrect_obsolete_messages PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurrect_obsolete_messages_into_msgidcomment PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 24%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overrides_old PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurrect_obsolete_messages PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurrect_obsolete_messages_into_msgidcomment PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 25%] 600s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 25%] 600s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 25%] 600s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 25%] 600s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 25%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 25%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 25%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 25%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 25%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_value_no_key_entry PASSED [ 25%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 25%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 25%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 25%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 25%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 25%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_locations_mozilla PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_strings_bilingual_simple PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2PO::test_strings_bilingual_multiline PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_value_no_key_entry PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_locations_mozilla PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 26%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 27%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_strings_bilingual_simple PASSED [ 27%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_strings_bilingual_multiline PASSED [ 27%] 600s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 27%] 600s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 27%] 600s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 27%] 600s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 27%] 600s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 27%] 601s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 27%] 601s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 27%] 601s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 27%] 601s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 27%] 601s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 27%] 601s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 27%] 601s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 27%] 601s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 27%] 601s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 27%] 601s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 27%] 601s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 27%] 601s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 27%] 601s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 27%] 601s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 27%] 601s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 27%] 601s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 27%] 601s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 27%] 601s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 27%] 601s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 27%] 601s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 27%] 601s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 27%] 601s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 27%] 601s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 27%] 601s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_simple_convert PASSED [ 27%] 601s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_nested_convert PASSED [ 27%] 601s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_comment_extraction PASSED [ 27%] 601s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_merge_with_template PASSED [ 27%] 601s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 27%] 601s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 27%] 601s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 27%] 601s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 27%] 601s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 28%] 601s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 28%] 601s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 28%] 601s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 28%] 601s tests/translate/convert/test_ts2po.py::TestTS2PO::test_plural PASSED [ 28%] 601s tests/translate/convert/test_ts2po.py::TestTS2PO::test_plural_unfinished PASSED [ 28%] 601s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 28%] 601s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 28%] 601s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 28%] 601s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 28%] 601s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 28%] 601s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 28%] 601s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 28%] 601s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 28%] 601s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_plural PASSED [ 28%] 601s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_plural_unfinished PASSED [ 28%] 601s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 28%] 601s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 29%] 601s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 29%] 601s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 29%] 601s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 29%] 601s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 29%] 601s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 29%] 601s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 29%] 601s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 29%] 601s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 29%] 601s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 29%] 601s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 29%] 601s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 29%] 601s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 30%] 601s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 30%] 601s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 30%] 601s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_comment_extraction PASSED [ 30%] 601s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_comment_extraction_nested PASSED [ 30%] 601s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 30%] 601s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 30%] 601s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 30%] 601s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 30%] 601s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 30%] 601s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 30%] 601s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_comment_extraction PASSED [ 30%] 601s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_comment_extraction_nested PASSED [ 30%] 601s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 30%] 601s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 30%] 601s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 30%] 601s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 30%] 601s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 30%] 601s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 30%] 601s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 30%] 601s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 30%] 601s tests/translate/filters/test_checks.py::test_defaults PASSED [ 30%] 601s tests/translate/filters/test_checks.py::test_construct PASSED [ 30%] 601s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 30%] 601s tests/translate/filters/test_checks.py::test_messages PASSED [ 30%] 601s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 30%] 601s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 30%] 601s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 30%] 601s tests/translate/filters/test_checks.py::test_blank PASSED [ 30%] 601s tests/translate/filters/test_checks.py::test_brackets PASSED [ 30%] 601s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 30%] 601s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 30%] 601s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 30%] 601s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 30%] 601s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 30%] 601s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 30%] 601s tests/translate/filters/test_checks.py::test_escapes PASSED [ 30%] 601s tests/translate/filters/test_checks.py::test_newlines PASSED [ 30%] 601s tests/translate/filters/test_checks.py::test_tabs PASSED [ 30%] 601s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_long PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 31%] 601s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_numbers PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_options PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_printf PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_short PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 31%] 601s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 31%] 601s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_validchars PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 31%] 601s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 31%] 601s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 32%] 601s tests/translate/filters/test_checks.py::test_functions PASSED [ 32%] 601s tests/translate/filters/test_checks.py::test_emails PASSED [ 32%] 601s tests/translate/filters/test_checks.py::test_urls PASSED [ 32%] 601s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 32%] 601s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 32%] 601s tests/translate/filters/test_checks.py::test_credits PASSED [ 32%] 601s tests/translate/filters/test_checks.py::test_gconf PASSED [ 32%] 601s tests/translate/filters/test_checks.py::test_validxml PASSED [ 32%] 601s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 32%] 601s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 32%] 601s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 32%] 601s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 32%] 601s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 32%] 601s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 32%] 601s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 32%] 601s tests/translate/filters/test_checks.py::test_category PASSED [ 32%] 601s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 32%] 601s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 32%] 601s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 32%] 601s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 32%] 601s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 32%] 601s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 32%] 601s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 32%] 601s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 32%] 601s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 32%] 601s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existent_check PASSED [ 32%] 601s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 32%] 601s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 32%] 601s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 32%] 601s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 32%] 601s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 32%] 601s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 32%] 601s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 32%] 601s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 32%] 601s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 32%] 601s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 32%] 601s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 32%] 601s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 32%] 601s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existent_check PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existent_check PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existent_check PASSED [ 33%] 601s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 33%] 602s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 33%] 602s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 33%] 602s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 33%] 602s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 33%] 602s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 33%] 602s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 33%] 602s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 33%] 602s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 33%] 602s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 33%] 602s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 33%] 602s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 34%] 602s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 34%] 602s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 34%] 602s tests/translate/lang/test_af.py::test_sentences PASSED [ 34%] 602s tests/translate/lang/test_af.py::test_capsstart PASSED [ 34%] 602s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 34%] 602s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 34%] 602s tests/translate/lang/test_am.py::test_sentences PASSED [ 34%] 602s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 34%] 602s tests/translate/lang/test_ar.py::test_sentences PASSED [ 34%] 602s tests/translate/lang/test_common.py::test_characters PASSED [ 34%] 602s tests/translate/lang/test_common.py::test_words PASSED [ 34%] 602s tests/translate/lang/test_common.py::test_word_khmer PASSED [ 34%] 602s tests/translate/lang/test_common.py::test_sentences PASSED [ 34%] 602s tests/translate/lang/test_common.py::test_capsstart PASSED [ 34%] 602s tests/translate/lang/test_common.py::test_numstart PASSED [ 34%] 602s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 34%] 602s tests/translate/lang/test_common.py::test_length_difference PASSED [ 34%] 602s tests/translate/lang/test_common.py::test_alter_length PASSED [ 34%] 602s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 34%] 602s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 34%] 602s tests/translate/lang/test_data.py::test_is_rtl PASSED [ 34%] 602s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 34%] 602s tests/translate/lang/test_el.py::test_sentences PASSED [ 34%] 602s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 34%] 602s tests/translate/lang/test_es.py::test_sentences PASSED [ 34%] 602s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 34%] 602s tests/translate/lang/test_fa.py::test_sentences PASSED [ 34%] 602s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 34%] 602s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 34%] 602s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 34%] 602s tests/translate/lang/test_fr.py::test_sentences PASSED [ 34%] 602s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 34%] 602s tests/translate/lang/test_hy.py::test_sentences PASSED [ 34%] 602s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 34%] 602s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 34%] 602s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 34%] 602s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 34%] 602s tests/translate/lang/test_ja.py::test_sentences PASSED [ 34%] 602s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 35%] 602s tests/translate/lang/test_km.py::test_sentences PASSED [ 35%] 602s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 35%] 602s tests/translate/lang/test_ko.py::test_sentences PASSED [ 35%] 602s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 35%] 602s tests/translate/lang/test_ne.py::test_sentences PASSED [ 35%] 602s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 35%] 602s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 35%] 602s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 35%] 602s tests/translate/lang/test_or.py::test_country_code PASSED [ 35%] 602s tests/translate/lang/test_or.py::test_sentences PASSED [ 35%] 602s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 35%] 602s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 35%] 602s tests/translate/lang/test_ro.py::test_niciun PASSED [ 35%] 602s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 35%] 602s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 35%] 602s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 35%] 602s tests/translate/lang/test_team.py::test_simple PASSED [ 35%] 602s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 35%] 602s tests/translate/lang/test_th.py::test_sentences PASSED [ 35%] 602s tests/translate/lang/test_tr.py::test_sentences PASSED [ 35%] 602s tests/translate/lang/test_uk.py::test_sentences PASSED [ 35%] 602s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 35%] 602s tests/translate/lang/test_vi.py::test_sentences PASSED [ 35%] 602s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 35%] 602s tests/translate/lang/test_zh.py::test_sentences PASSED [ 35%] 602s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 35%] 602s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 35%] 602s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 35%] 602s tests/translate/misc/test_dictutils.py::test_cidict_pop PASSED [ 35%] 602s tests/translate/misc/test_dictutils.py::test_cidict_getitem PASSED [ 35%] 602s tests/translate/misc/test_dictutils.py::test_cidict_setitem PASSED [ 35%] 602s tests/translate/misc/test_dictutils.py::test_cidict_delitem PASSED [ 35%] 602s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 35%] 602s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 35%] 602s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 35%] 602s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 35%] 602s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 35%] 602s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 35%] 602s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 36%] 602s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 36%] 602s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 36%] 602s tests/translate/misc/test_multistring.py::TestMultistring::test_bool PASSED [ 36%] 602s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 36%] 602s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 36%] 602s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 36%] 602s tests/translate/misc/test_quote.py::test_find_all PASSED [ 36%] 602s tests/translate/misc/test_quote.py::test_extract PASSED [ 36%] 602s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 36%] 602s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 36%] 602s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 36%] 602s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 36%] 602s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_iso_8859_1 PASSED [ 36%] 602s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_ascii PASSED [ 36%] 602s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_unicode_range PASSED [ 36%] 602s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 36%] 602s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 36%] 602s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 36%] 602s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 36%] 602s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 36%] 602s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 36%] 602s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 36%] 602s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 36%] 602s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 36%] 602s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 36%] 602s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 36%] 602s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 36%] 602s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 36%] 602s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 36%] 602s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 36%] 602s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 36%] 602s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 36%] 602s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 36%] 602s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 36%] 602s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 36%] 602s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 36%] 602s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 36%] 602s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 36%] 602s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 37%] 602s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 37%] 602s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 37%] 603s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 37%] 603s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 37%] 603s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 37%] 603s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 37%] 603s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 37%] 603s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 37%] 603s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 37%] 603s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 37%] 603s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 37%] 603s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 37%] 603s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 37%] 603s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 37%] 603s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 37%] 603s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 38%] 603s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 38%] 603s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 38%] 603s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 38%] 603s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 38%] 603s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 38%] 603s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 38%] 603s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 38%] 603s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 38%] 603s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 38%] 603s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 38%] 603s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_line_number_default PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 38%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 39%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_xml PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 40%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse_decimal_plurals PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_to_plurals PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_empty_missing_plural_tag PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_line_number_default PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escape_quote PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 41%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_isfuzzy PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_create PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_eq PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_escapes PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_difficult_escapes PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_note_sanity PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_line_number_default PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_target PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_rich_get PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_rich_set PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_escape_quote PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_create_blank PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_add PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_remove PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_find PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_parse PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_files PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_save PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_extensions PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_mimetypes PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_translate PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_markup PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_nonascii PASSED [ 42%] 603s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_quote_escape PASSED [ 42%] 603s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 42%] 603s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 42%] 603s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 42%] 603s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 42%] 603s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 42%] 603s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 603s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 603s tests/translate/storage/test_base.py::TestTranslationUnit::test_line_number_default PASSED [ 43%] 603s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 43%] 603s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 43%] 603s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 43%] 603s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 43%] 603s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 43%] 603s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 43%] 603s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 43%] 603s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 43%] 603s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 43%] 603s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 43%] 603s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 43%] 603s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 43%] 603s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 43%] 603s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 43%] 603s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_create_empty_bundle PASSED [ 43%] 603s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_create_bundle_from_nonexistent_file PASSED [ 43%] 603s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle PASSED [ 43%] 603s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save PASSED [ 43%] 603s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip PASSED [ 43%] 603s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle PASSED [ 43%] 603s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_update_file_in_bundle PASSED [ 43%] 603s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle PASSED [ 43%] 603s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_invalid_bundle_error PASSED [ 43%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 43%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 43%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 43%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 43%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 43%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_line_number_default PASSED [ 43%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 43%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 43%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 43%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 43%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 43%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 43%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 43%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 44%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 44%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 44%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 44%] 603s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_line_number_default PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 44%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 45%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 45%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 45%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 45%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 45%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding_save PASSED [ 45%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_id_target PASSED [ 45%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_context_target PASSED [ 45%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_key_translation PASSED [ 45%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_roundtrip PASSED [ 45%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_context_roundtrip PASSED [ 45%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_id_context_roundtrip PASSED [ 45%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_target_only_roundtrip PASSED [ 45%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_quote_nonnumeric_handling PASSED [ 45%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_quote_nonnumeric_with_single_quotes PASSED [ 45%] 603s tests/translate/storage/test_csvl10n.py::TestCSV::test_line_number PASSED [ 45%] 603s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 45%] 603s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 45%] 603s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 45%] 603s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 45%] 603s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 45%] 603s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 45%] 603s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 45%] 603s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 45%] 603s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 45%] 603s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 45%] 603s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 45%] 603s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 45%] 603s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 45%] 603s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 45%] 603s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 45%] 603s tests/translate/storage/test_dtd.py::TestDTDUnit::test_line_number_default PASSED [ 45%] 603s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 45%] 603s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 45%] 603s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 45%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 45%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 45%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_multiple_blank_lines PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_entity_with_extra_spaces PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestDTD::test_mixed_content_preservation PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 46%] 603s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 603s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 603s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 47%] 603s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 47%] 603s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 47%] 603s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 47%] 603s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 47%] 603s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 47%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 47%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 47%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 47%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 47%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_line_number_default PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 48%] 603s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 48%] 603s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 48%] 603s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 48%] 603s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 48%] 603s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 48%] 603s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 48%] 603s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 48%] 603s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 48%] 603s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 48%] 603s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 48%] 603s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 48%] 603s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 48%] 603s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_button PASSED [ 48%] 603s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_lang_attribute PASSED [ 48%] 603s tests/translate/storage/test_html.py::TestHTMLExtraction::test_dir_attribute_not_extracted PASSED [ 49%] 603s tests/translate/storage/test_html.py::TestHTMLExtraction::test_data_translate_ignore_attribute PASSED [ 49%] 603s tests/translate/storage/test_html.py::TestHTMLExtraction::test_translate_comment_directives PASSED [ 49%] 603s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_social_media_tags PASSED [ 49%] 603s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_non_translatable_tags PASSED [ 49%] 603s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_mixed_translatable_and_non_translatable PASSED [ 49%] 603s tests/translate/storage/test_html.py::TestHTMLExtraction::test_data_translate_comment_attribute PASSED [ 49%] 603s tests/translate/storage/test_html_context.py::test_html_context_basic PASSED [ 49%] 603s tests/translate/storage/test_html_context.py::test_html_context_attribute PASSED [ 49%] 603s tests/translate/storage/test_html_context.py::test_html_context_attribute_with_id PASSED [ 49%] 603s tests/translate/storage/test_html_context.py::test_html_context_same_source_different_contexts PASSED [ 49%] 603s tests/translate/storage/test_html_context.py::test_html_context_nested_outer_wins PASSED [ 49%] 603s tests/translate/storage/test_html_context.py::test_html_context_absent PASSED [ 49%] 603s tests/translate/storage/test_html_context.py::test_html_context_id_overridden_by_explicit PASSED [ 49%] 603s tests/translate/storage/test_html_context.py::test_html_context_id_not_used_when_no_duplicates PASSED [ 49%] 603s tests/translate/storage/test_html_context.py::test_html_context_id_not_used_when_data_translate_context_identical PASSED [ 49%] 603s tests/translate/storage/test_html_context.py::test_html_context_disambiguates_duplicates_with_id PASSED [ 49%] 603s tests/translate/storage/test_html_context.py::test_html_context_disambiguates_duplicates_with_ancestor_id PASSED [ 49%] 603s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 49%] 603s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 49%] 603s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 49%] 603s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 49%] 603s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 49%] 603s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 49%] 603s tests/translate/storage/test_ini.py::TestINIUnit::test_line_number_default PASSED [ 49%] 603s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 49%] 603s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 49%] 603s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 49%] 603s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 49%] 603s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 49%] 603s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 49%] 603s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 49%] 603s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 49%] 603s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 49%] 603s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 49%] 603s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 49%] 603s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 49%] 603s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 49%] 603s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 49%] 603s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 603s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 603s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_line_number_default PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 50%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_line_number_default PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_line_number_default PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 51%] 603s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 52%] 603s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 52%] 603s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_comments PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 52%] 604s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 53%] 604s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 54%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_invalid_nesting PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_empty_metadata_not_stored PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_invalid PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_isfuzzy PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_create PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_eq PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_escapes PASSED [ 55%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_difficult_escapes PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_note_sanity PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_line_number_default PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_target PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_rich_get PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_rich_set PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_source_property_maps_to_id PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_source_roundtrip PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_create_blank PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_remove PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_find PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_files PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_save PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_extensions PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_mimetypes PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_translate PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_markup PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_nonascii PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse_simple PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_serialize_simple PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse_with_plurals PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_preserve_plural_form PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_roundtrip_with_plurals PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_ignore_non_translations_keys PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_preserve_other_metadata PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add_unit PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add_plural_unit PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_empty_translations PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_create_blank PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_add PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_remove PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_find PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_parse PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_files PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_save PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_extensions PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_mimetypes PASSED [ 56%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_translate PASSED [ 57%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_markup PASSED [ 57%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_nonascii PASSED [ 57%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_roundtrip PASSED [ 57%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_basic_parsing PASSED [ 57%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_multiple_metadata PASSED [ 57%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_no_metadata PASSED [ 57%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_edit_target PASSED [ 57%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_edit_notes PASSED [ 57%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_keys_with_dots PASSED [ 57%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_leading_dot_keys PASSED [ 57%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_invalid_nesting PASSED [ 57%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_property_get_set PASSED [ 57%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_property_persists PASSED [ 57%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_getcontext_returns_id PASSED [ 57%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_parsing_preserves_order PASSED [ 57%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_metadata_without_translation PASSED [ 57%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_complex_keys_with_multiple_dots PASSED [ 57%] 604s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_empty_string PASSED [ 57%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_basic PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_with_markup PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_with_code_block PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_multiple_ignore_sections PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_at_start PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_at_end PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_nested_structures_in_ignore PASSED [ 58%] 604s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_link_references_in_ignore PASSED [ 58%] 604s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 604s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 604s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 604s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 604s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 604s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 604s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 604s tests/translate/storage/test_mo.py::TestMOUnit::test_line_number_default PASSED [ 58%] 604s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 604s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 604s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 604s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 604s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 604s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 604s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 59%] 604s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 59%] 604s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 59%] 604s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 59%] 604s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 59%] 604s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 59%] 604s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 59%] 604s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 59%] 604s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 604s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 604s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 604s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 59%] 604s tests/translate/storage/test_mo.py::TestMOFile::test_endian_version_parsing PASSED [ 59%] 604s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 604s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 604s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 604s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 604s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 604s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 604s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_line_number_default PASSED [ 59%] 604s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 604s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 604s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 604s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 604s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 604s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 604s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 604s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 604s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 604s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 604s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 604s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 604s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 604s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 604s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 604s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 604s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 604s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 604s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 604s 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%] 604s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_line_number_default PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 604s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_line_number PASSED [ 61%] 604s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_isfuzzy PASSED [ 61%] 604s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_create PASSED [ 61%] 604s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_eq PASSED [ 61%] 604s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_target PASSED [ 61%] 604s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_escapes PASSED [ 61%] 604s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_difficult_escapes PASSED [ 61%] 604s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_note_sanity PASSED [ 61%] 604s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_line_number_default PASSED [ 61%] 604s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_rich_get PASSED [ 61%] 604s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_rich_set PASSED [ 61%] 604s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_create_blank PASSED [ 61%] 604s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_add PASSED [ 61%] 604s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_remove PASSED [ 61%] 604s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_find PASSED [ 61%] 604s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_translate PASSED [ 61%] 604s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_parse PASSED [ 61%] 604s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_files PASSED [ 61%] 604s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_save PASSED [ 61%] 604s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_markup PASSED [ 61%] 604s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_nonascii PASSED [ 61%] 604s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_mimetypes PASSED [ 61%] 604s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_extensions XFAIL [ 61%] 604s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 604s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 604s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 604s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 604s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 604s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 604s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 604s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 604s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 604s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpUnit::test_line_number_default PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 62%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 63%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 604s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_with_spaces PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_with_comments PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_line_number_default PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping_array_syntax PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping_numeric_keys PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_roundtrip_short_array PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_roundtrip_array_syntax PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_preserves_structure PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_with_array_syntax PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_addunit_with_setid PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_unit_to_short_array_file PASSED [ 64%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_unit_to_array_function_file PASSED [ 65%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_multiple_units_to_short_array PASSED [ 65%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_multiple_units_to_array_function PASSED [ 65%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_numeric_keys_no_quotes PASSED [ 65%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_empty_string_key PASSED [ 65%] 605s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_with_non_string_value PASSED [ 65%] 605s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOUnit::test_line_number_default PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 605s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_invalid_keyword PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 66%] 605s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_spaces PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_fit PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_overflow PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_multiline PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_escapes PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_wrap_escape_line PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_wrap_wide_stop PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_wrap_escape PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_c_style_comment_error_reporting PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_unusual_line_endings PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_charset_with_space PASSED [ 67%] 605s tests/translate/storage/test_po.py::TestPOFile::test_duplicate_msgid_error PASSED [ 67%] 605s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 605s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 605s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 605s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 605s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 605s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 605s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 605s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 605s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 605s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 605s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 605s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_line_number_default PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 68%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_marktranslatable PASSED [ 69%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_groups_when_adding_units PASSED [ 69%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_multiple_files_and_groups PASSED [ 69%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_unit_to_existing_group PASSED [ 69%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_unit_to_different_file PASSED [ 69%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mixed_groups_and_body PASSED [ 69%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addunit_with_new_false PASSED [ 69%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace_preservation_across_versions PASSED [ 69%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_units_between_different_files PASSED [ 69%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_group_preservation_across_different_namespaces PASSED [ 69%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_cross_namespace_group_and_file_preservation PASSED [ 69%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 605s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 606s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 606s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 606s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 606s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 606s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 606s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 606s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 606s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 606s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 606s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 606s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 606s tests/translate/storage/test_properties.py::test_find_delimiter_pos_empty_and_whitespace PASSED [ 69%] 606s tests/translate/storage/test_properties.py::test_find_delimiter_pos_tabs PASSED [ 69%] 606s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 606s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 606s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 606s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 606s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 606s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 606s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestPropUnit::test_line_number_default PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 606s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_tab_delimiter_parsing PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comments PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comments_nested PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comment_with_spaces PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_before_entry PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_between_key_and_equals PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_between_equals_and_value PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_after_value_before_semicolon PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multiple_inline_comments PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_nested_comment PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_inside_value PASSED [ 71%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_trailing_whitespace_after_semicolon PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestProp::test_utf16_bom_no_warning PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 606s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 606s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 606s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 606s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 606s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_line_number_default PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_with_blank_lines PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 74%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid_keyword PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 75%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_spaces PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_fit PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_overflow PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_multiline PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_escapes PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_escape_line PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_wide_stop PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_escape PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_c_style_comment_error_reporting PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unusual_line_endings PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_charset_with_space PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_duplicate_msgid_error PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_future_flags PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 606s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 607s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 607s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 607s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 607s tests/translate/storage/test_pypo.py::TestPYPOFile::test_line_number PASSED [ 77%] 607s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 607s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 607s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 607s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 607s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 607s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 607s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 607s tests/translate/storage/test_qm.py::TestQtUnit::test_line_number_default PASSED [ 77%] 607s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 607s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 607s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 607s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 607s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 607s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 607s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 607s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 607s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 607s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 607s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 607s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 607s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 607s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 607s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 77%] 607s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 77%] 607s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphUnit::test_line_number_default PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 607s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 607s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 78%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 78%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 78%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 78%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 78%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 78%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 78%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_utf16_pragma_code_page PASSED [ 79%] 607s tests/translate/storage/test_rc.py::TestRcFile::test_utf8_pragma_code_page PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_line_number_default PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 79%] 607s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 79%] 607s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 79%] 607s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 79%] 607s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 79%] 607s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 79%] 607s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 79%] 607s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 79%] 607s tests/translate/storage/test_resx.py::TestRESXUnit::test_line_number_default PASSED [ 79%] 607s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_line_number_default PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 80%] 607s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 80%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 80%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 80%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 80%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 80%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 80%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 80%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_line_number_default PASSED [ 80%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 80%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 80%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 80%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 80%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 80%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 607s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 607s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 81%] 607s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 81%] 607s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 81%] 607s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 81%] 607s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 81%] 607s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 81%] 607s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 81%] 607s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 81%] 607s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 81%] 607s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 81%] 607s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 81%] 607s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 81%] 607s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_ordering PASSED [ 81%] 607s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create_blank PASSED [ 81%] 607s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_add PASSED [ 81%] 607s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_remove PASSED [ 81%] 607s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_find PASSED [ 81%] 607s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_parse PASSED [ 81%] 607s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_files PASSED [ 81%] 607s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_save PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_extensions PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_mimetypes PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_translate PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_markup PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_nonascii PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_ordering PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 607s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_ordering PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_ordering PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_style_preservation PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 82%] 607s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 607s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 607s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 607s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 607s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 607s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 607s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 607s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 607s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_ordering PASSED [ 83%] 607s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_style_preservation PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXUnit::test_line_number_default PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 83%] 607s tests/translate/storage/test_tbx.py::TestTBXfile::test_administrative_status_and_translation_needed PASSED [ 84%] 607s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 607s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 607s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 607s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 607s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 607s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXUnit::test_line_number_default PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_line_number_default PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_context PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 84%] 607s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 607s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 607s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 607s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 607s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 607s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 607s tests/translate/storage/test_tmx.py::TestTMXfile::test_context PASSED [ 85%] 607s tests/translate/storage/test_tmx.py::TestTMXfile::test_note_order PASSED [ 85%] 607s tests/translate/storage/test_tmx.py::TestTMXfile::test_prop_and_note_order PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_isfuzzy PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_create PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_eq PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_escapes PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_difficult_escapes PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_note_sanity PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_line_number_default PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_target PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_rich_get PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_rich_set PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_getlocations PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_create_blank PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_add PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_find PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_parse PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_files PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_save PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_extensions PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_mimetypes PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_translate PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_markup PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_nonascii PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_serialize PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_empty PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_edit PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_edit_unicode PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_parse_unicode_list PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_ordering PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_nested PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline PASSED [ 85%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_boolean PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_integer PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_no_quote_strings PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_double_quote_strings PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_single_quote_strings PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_escaped_double_quotes PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_newlines PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_list PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_inline_table PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_key_nesting PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_add_to_empty PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_dict_in_list PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_remove PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_special PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_extraction_simple PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_extraction_multiline PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_no_comment_backwards_compat PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_simple PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_multiline PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_nested PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_with_modification PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_literal_string PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline_basic_string PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline_literal_string PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_create_blank PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_add PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_remove PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_find PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_parse PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_files PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_save PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_extensions PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_mimetypes PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_translate PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_markup PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_nonascii PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_simple_plural PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_plural_with_other_keys PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_full_plural_forms PASSED [ 86%] 607s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_roundtrip_plural PASSED [ 87%] 607s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_mixed_content PASSED [ 87%] 607s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_letsencrypt_style PASSED [ 87%] 607s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_comment_preservation_goi18n PASSED [ 87%] 607s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_comment_preservation_goi18n_plural PASSED [ 87%] 607s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 607s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 607s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSUnit::test_line_number_default PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 87%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 607s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtUnit::test_line_number_default PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 88%] 607s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 88%] 607s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 88%] 607s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 88%] 607s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 88%] 607s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 88%] 607s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 88%] 607s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 88%] 607s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 607s tests/translate/storage/test_utx.py::TestUtxUnit::test_line_number_default PASSED [ 89%] 607s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 607s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 607s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 607s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 607s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 607s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 607s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 607s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 607s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 607s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 607s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 607s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 607s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 607s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 607s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 607s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 607s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 89%] 607s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 89%] 607s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 89%] 607s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 89%] 607s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 89%] 607s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 89%] 607s tests/translate/storage/test_wordfast.py::TestWFUnit::test_line_number_default PASSED [ 89%] 607s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 89%] 607s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 89%] 607s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 89%] 607s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 89%] 607s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 89%] 607s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 89%] 607s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 89%] 607s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 89%] 607s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 89%] 607s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 89%] 607s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 608s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 608s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 608s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 608s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 608s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 608s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 608s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 608s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_line_number_default PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_marktranslatable PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_groups_when_adding_units PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_multiple_files_and_groups PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_unit_to_existing_group PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_unit_to_different_file PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mixed_groups_and_body PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addunit_with_new_false PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace_preservation_across_versions PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_units_between_different_files PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_group_preservation_across_different_namespaces PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_cross_namespace_group_and_file_preservation PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 91%] 608s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 91%] 609s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 91%] 609s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 91%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_isfuzzy PASSED [ 91%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_create PASSED [ 91%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_eq PASSED [ 91%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_target PASSED [ 91%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_escapes PASSED [ 91%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_difficult_escapes PASSED [ 91%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_note_sanity PASSED [ 91%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_line_number_default PASSED [ 91%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_rich_get PASSED [ 91%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_rich_set PASSED [ 91%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_notes PASSED [ 91%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_id_management PASSED [ 91%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_marktranslatable PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_create_blank PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_add PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_remove PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_find PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_translate PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_files PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_save PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_markup PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_nonascii PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_extensions PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_mimetypes PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_basic PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_source_target PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_language_attributes PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_namespace PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_unit_structure PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_multiple_units PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse_xliff2 PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse_translate_attribute PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_multiple_segments_per_unit PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_mixed_single_and_multiple_segments PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_segments_without_ids PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_escaped_inline_tags PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_simple_source_target_pairs PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_malformed_xml_declaration PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_variable_placeholders PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_add_unit PASSED [ 92%] 609s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_states PASSED [ 92%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_line_number_default PASSED [ 92%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_simple PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_multiline PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_nested PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_mixed PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_comment_backwards_compat PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline_literal_format PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_blank PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_partial PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_pt_br PASSED [ 94%] 609s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_bug_ruby_remove_zero_few_and_mix_others PASSED [ 94%] 609s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 609s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 609s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 609s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 95%] 609s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 95%] 609s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 95%] 609s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 95%] 609s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 95%] 609s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 95%] 609s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 95%] 609s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 95%] 609s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 95%] 609s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 95%] 609s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 95%] 609s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 95%] 609s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 95%] 609s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 95%] 609s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 95%] 609s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 609s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 609s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 609s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 609s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 609s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 609s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 609s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 609s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 609s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 609s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 609s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 609s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 609s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 609s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 609s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 609s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 609s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 609s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 609s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 609s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 609s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 609s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 609s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 609s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::test_csv_line_terminator PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_fuzzy_with_target PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_fuzzy_without_target PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_translated_not_fuzzy PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_untranslated_empty_target PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_categorization_mutually_exclusive PASSED [ 96%] 609s tests/translate/tools/test_pocount.py::TestPOCountLineEndings::test_unusual_line_endings PASSED [ 96%] 609s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank_clears_fuzzy PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank_with_plurals PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 610s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 610s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 610s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 610s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 610s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 610s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 610s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 610s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 610s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 610s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 610s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 610s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 610s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 610s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 610s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 610s tests/translate/tools/test_posegment.py::TestPOSegment::test_transifex_po PASSED [ 98%] 610s tests/translate/tools/test_posegment.py::TestXLIFFSegment::test_xliff_en_simple PASSED [ 98%] 610s tests/translate/tools/test_posegment.py::TestXLIFFSegment::test_xliff_untranslated PASSED [ 98%] 610s tests/translate/tools/test_posegment.py::TestTMXSegment::test_tmx_en_simple PASSED [ 98%] 610s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 610s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_unitinfo_stores_minimal_data PASSED [ 98%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overrides_old PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurrect_obsolete_messages PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overrides_old PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurrect_obsolete_messages PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 610s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 610s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 610s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 610s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 610s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 610s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 610s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 611s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 611s 611s =============================== warnings summary =============================== 611s ../../../usr/lib/python3/dist-packages/pyparsing/core.py:5637 611s Warning: 'return' in a 'finally' block 611s 611s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 611s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.Lga1Rh/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 611s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 611s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 611s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 611s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 611s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 611s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 611s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 611s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 611s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 611s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 611s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 611s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 611s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 611s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 611s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 611s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 611s Warning: Could not find accesskey for key.accesskey 611s 611s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 611s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 611s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 611s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 611s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 611s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.Lga1Rh/autopkgtest_tmp/tests/translate/convert/test.idml'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 611s Warning: unclosed file <_io.BufferedReader name='translation.po'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert 611s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert_with_multiple_units 611s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 611s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.Lga1Rh/autopkgtest_tmp/tests/translate/convert/test.odt'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 611s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 611s Warning: Could not find accesskey for prop.accesskey 611s 611s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert 611s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert 611s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context 611s Warning: unclosed file <_io.BufferedReader name='test.po'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context 611s Warning: unclosed file <_io.TextIOWrapper name='TestPO2TMXCommand_test_context/test.tmx' mode='r' encoding='UTF-8'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 611s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 611s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 611s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 611s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 611s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 611s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 611s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 611s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 611s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 611s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 611s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 611s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 611s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 611s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 611s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 611s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 611s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 611s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 611s 611s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle 611s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle 611s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpe5wqmxxs_test.txt'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save 611s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save 611s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp6ts6kz0p_crossdevice.txt'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip 611s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip 611s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpqgo27cqd_initial.txt'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 611s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 611s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp0vicpkkx_load_test.txt'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 611s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 611s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpimsjg8i5_load_test.txt'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 611s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 611s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp6wkfkx2u_file0.txt'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 611s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 611s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp0b2i5cxb_file1.txt'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 611s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 611s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp6qosdggi_file2.txt'> 611s Enable tracemalloc to get traceback where the object was allocated. 611s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 611s 611s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 611s Warning: DTD parse error: :1:35:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 611s :1:35:FATAL:PARSER:ERR_EXT_SUBSET_NOT_FINISHED: Content error in the external subset 611s 611s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 611s Warning: DTD file '' does not validate 611s 611s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 611s --------------------------- snapshot report summary ---------------------------- 611s 23 snapshots passed. 611s =========================== short test summary info ============================ 611s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 611s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 611s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 611s SKIPPED [1] tests/translate/storage/test_mo.py:512: Skip testing command line tools 611s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 611s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:47: Skip testing command line tools 611s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:57: Skip testing command line tools 611s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 611s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 611s XFAIL tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_table - https://github.com/miyuchina/mistletoe/issues/244 611s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 611s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 611s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 611s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 611s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 611s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 611s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 611s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 611s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 611s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 611s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 611s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 611s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 611s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 611s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 611s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 611s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 611s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 611s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 611s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 611s 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 611s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 611s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 611s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 611s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 611s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 611s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 611s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 611s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 611s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 611s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 611s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 611s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 611s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 611s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 611s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 611s ========== 3843 passed, 22 skipped, 39 xfailed, 70 warnings in 19.87s ========== 611s ============================= test session starts ============================== 611s platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0 -- /usr/bin/python3.13 611s cachedir: .pytest_cache 611s rootdir: /tmp/autopkgtest.Lga1Rh/autopkgtest_tmp 611s plugins: syrupy-5.0.0, typeguard-4.4.4 617s collecting ... collected 3902 items / 2 skipped 617s 617s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 618s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 618s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 618s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 618s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 618s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 618s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 618s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 618s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 618s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 618s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 618s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 618s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 618s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 618s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 618s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 618s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 618s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 618s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 618s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 618s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 618s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 618s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 618s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 618s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 618s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 618s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 618s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 618s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 618s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 618s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 618s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_line_numbers_in_errors PASSED [ 0%] 618s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 618s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 618s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 0%] 618s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 0%] 618s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 0%] 618s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 0%] 618s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 0%] 618s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 618s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_line_numbers_in_errors PASSED [ 1%] 618s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 618s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 1%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 618s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 618s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 618s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 2%] 618s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 2%] 618s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 2%] 618s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 2%] 618s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 2%] 618s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 2%] 618s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 2%] 618s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 2%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 2%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 2%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 2%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 2%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 2%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 2%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 3%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_ignore_attribute PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_translate_comment_directives PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_social_media_tags PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_non_translatable_tags_not_extracted PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_mixed_translatable_and_non_translatable PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_comment_attribute PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_comment_without_keepcomments PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2PO::test_text_after_empty_tags PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 4%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_ignore_attribute PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_translate_comment_directives PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_social_media_tags PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_non_translatable_tags_not_extracted PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_mixed_translatable_and_non_translatable PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_comment_attribute PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_comment_without_keepcomments PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_text_after_empty_tags PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 618s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 5%] 618s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 5%] 618s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 5%] 618s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 5%] 618s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 5%] 618s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 5%] 618s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 5%] 618s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 5%] 618s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 5%] 618s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 5%] 618s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 5%] 618s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 5%] 618s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 5%] 618s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 5%] 618s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 618s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 618s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 618s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 618s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 618s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 618s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 618s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 618s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 618s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 618s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 618s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 618s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 618s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 618s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 618s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 618s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 618s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 618s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 618s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 6%] 618s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 6%] 618s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 6%] 618s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 6%] 618s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 6%] 618s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 6%] 618s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 6%] 618s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 6%] 618s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 6%] 618s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 6%] 618s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 6%] 618s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 6%] 618s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 6%] 618s tests/translate/convert/test_json2po.py::TestJson2PO::test_multiple_units PASSED [ 6%] 618s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 6%] 618s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 6%] 618s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 6%] 618s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_multiple_units PASSED [ 6%] 618s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 6%] 618s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 6%] 618s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 618s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 618s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 618s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 618s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_frontmatter PASSED [ 7%] 618s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_translation_ignore_sections PASSED [ 7%] 618s tests/translate/convert/test_moz2po.py::TestMoz2PO::test_duplicate_locations PASSED [ 7%] 618s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_duplicate_locations PASSED [ 7%] 618s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 618s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 618s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 618s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 618s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 618s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 618s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 618s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 618s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 618s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 618s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 7%] 618s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 7%] 618s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 7%] 618s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 7%] 618s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 7%] 618s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 7%] 618s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 7%] 618s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 7%] 618s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 7%] 618s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 7%] 618s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 7%] 618s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 7%] 618s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 7%] 618s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 7%] 618s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 7%] 618s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 7%] 618s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 7%] 618s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 7%] 618s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 7%] 618s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 7%] 618s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 7%] 618s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 618s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 618s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 618s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 618s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 618s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 618s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 618s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 618s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 618s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 618s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 618s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 618s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 618s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 8%] 618s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 8%] 618s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 8%] 618s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 8%] 618s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 8%] 618s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 8%] 618s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 8%] 618s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 8%] 618s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 618s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 8%] 618s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 618s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 618s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 618s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 618s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 618s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 618s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 8%] 618s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 618s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 8%] 618s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 618s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 618s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 8%] 618s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 8%] 618s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 8%] 618s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 8%] 618s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 8%] 618s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 618s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 618s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 618s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 618s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 618s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 618s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 618s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 9%] 618s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 9%] 618s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 9%] 618s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 9%] 618s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 9%] 618s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 9%] 618s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 9%] 618s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 9%] 618s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 9%] 618s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 9%] 619s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 9%] 619s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 9%] 619s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 9%] 619s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 9%] 619s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 9%] 619s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 9%] 619s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 9%] 619s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 9%] 619s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 9%] 619s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 9%] 619s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 9%] 619s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 9%] 619s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 9%] 619s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 9%] 619s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 9%] 619s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 9%] 619s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 9%] 619s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 9%] 619s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 9%] 619s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 9%] 619s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 9%] 619s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 9%] 619s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 619s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 619s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 10%] 619s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 10%] 619s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 10%] 619s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 10%] 619s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 10%] 619s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 10%] 619s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 10%] 619s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 10%] 619s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 10%] 619s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 10%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 11%] 619s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 11%] 619s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 11%] 619s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 11%] 619s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 11%] 619s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 11%] 619s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 11%] 619s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 11%] 619s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 11%] 619s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 11%] 619s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 11%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities_template_vs_po_mismatch PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_utf8_non_ascii_characters PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_custom_entities_preserved PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_auto_rtl PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_auto_ltr PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_added_when_missing PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_not_changed_without_lang_translation PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_button_translation PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_lang_attribute_only_on_html_tag PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_data_translate_ignore_preserved PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_translate_comment_directives_preserved PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_data_translate_ignore_with_translation_in_po PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_translate_comment_with_translation_in_po PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_meta_social_media_tags_translation PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2Html::test_meta_non_translatable_tags_preserved PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities_template_vs_po_mismatch PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_utf8_non_ascii_characters PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_custom_entities_preserved PASSED [ 12%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_auto_rtl PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_auto_ltr PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_added_when_missing PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_not_changed_without_lang_translation PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_button_translation PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_lang_attribute_only_on_html_tag PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_data_translate_ignore_preserved PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_translate_comment_directives_preserved PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_data_translate_ignore_with_translation_in_po PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_translate_comment_with_translation_in_po PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_meta_social_media_tags_translation PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_meta_non_translatable_tags_preserved PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 13%] 619s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 13%] 619s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 13%] 619s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 13%] 619s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 13%] 619s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 13%] 619s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 13%] 619s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 13%] 619s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 13%] 619s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 13%] 619s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 13%] 619s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 13%] 619s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 13%] 619s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 13%] 619s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 13%] 619s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 13%] 619s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 619s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 619s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 619s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 619s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 619s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 619s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 619s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 619s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 619s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 619s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 619s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 14%] 619s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 14%] 619s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 619s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 619s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 619s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 619s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 619s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 15%] 619s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 15%] 619s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 15%] 619s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 15%] 619s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 15%] 619s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 15%] 619s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 15%] 619s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 15%] 619s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 15%] 619s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 15%] 619s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 15%] 619s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_table XFAIL [ 15%] 619s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_frontmatter PASSED [ 15%] 619s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_translation_ignore_sections PASSED [ 15%] 619s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 15%] 619s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 15%] 619s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 15%] 619s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 15%] 619s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 15%] 619s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 15%] 619s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 15%] 619s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 15%] 619s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 15%] 619s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 15%] 619s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 15%] 619s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 15%] 619s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 15%] 619s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 15%] 619s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 15%] 619s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 15%] 619s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 15%] 619s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 15%] 619s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 15%] 619s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 15%] 619s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 619s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 619s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_help PASSED [ 16%] 619s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert PASSED [ 16%] 619s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert_with_multiple_units PASSED [ 16%] 619s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 619s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 16%] 619s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 16%] 619s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 16%] 619s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 16%] 619s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 16%] 619s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 16%] 619s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 16%] 619s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 16%] 619s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 16%] 619s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 16%] 619s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 16%] 619s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 16%] 619s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 16%] 619s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 16%] 619s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 16%] 619s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 16%] 619s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 16%] 619s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 16%] 619s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 16%] 619s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 16%] 619s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 16%] 619s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 16%] 619s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 16%] 619s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 16%] 619s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 16%] 619s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 16%] 619s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 16%] 619s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 16%] 619s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 16%] 619s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 16%] 619s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 16%] 619s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 16%] 619s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 16%] 619s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2Php::test_return_array_with_comments PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_return_array_with_comments PASSED [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 17%] 619s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 17%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 17%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 17%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 17%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 17%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 17%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 17%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_value_no_key PASSED [ 17%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 17%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 17%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 17%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 17%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_utf16_with_empty_lines PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_value_no_key PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 18%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 19%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 19%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 19%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_utf16_with_empty_lines PASSED [ 19%] 619s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 19%] 619s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 19%] 620s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 19%] 620s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 19%] 620s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 19%] 620s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 19%] 620s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 19%] 620s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 19%] 620s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 19%] 620s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 19%] 620s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 19%] 620s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 19%] 620s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 19%] 620s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 19%] 620s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes_strintable PASSED [ 19%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 19%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 19%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 19%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 19%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 19%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 19%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 19%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 19%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 19%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 19%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 19%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 19%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 19%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 19%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 19%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 19%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 19%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 19%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_plus_in_resourcekey PASSED [ 19%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_special_chars_in_resourcekey PASSED [ 19%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 20%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 20%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 20%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 20%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 20%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 20%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 20%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 20%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 20%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 20%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 20%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 20%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 20%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 20%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 20%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 20%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_plus_in_resourcekey PASSED [ 20%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_special_chars_in_resourcekey PASSED [ 20%] 620s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 20%] 620s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 20%] 620s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 20%] 620s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 20%] 620s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 20%] 620s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 20%] 620s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 20%] 620s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 20%] 620s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 20%] 620s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 20%] 620s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 20%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 20%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 20%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 20%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 20%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 20%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 20%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 20%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 20%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 21%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 21%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 21%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 21%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 21%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 21%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 21%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 21%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 21%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 21%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 21%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 21%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 21%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 21%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 21%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 21%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 21%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 21%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 21%] 620s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context PASSED [ 21%] 620s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_simple_convert PASSED [ 21%] 620s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_nested_convert PASSED [ 21%] 620s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_template_required PASSED [ 21%] 620s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_untranslated_uses_source PASSED [ 21%] 620s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 21%] 620s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 21%] 620s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 21%] 620s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 21%] 620s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 21%] 620s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 21%] 620s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 21%] 620s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 21%] 620s tests/translate/convert/test_po2ts.py::TestPO2TS::test_plural PASSED [ 21%] 620s tests/translate/convert/test_po2ts.py::TestPO2TS::test_plural_fuzzy PASSED [ 21%] 620s tests/translate/convert/test_po2ts.py::TestPO2TS::test_unit_without_location PASSED [ 21%] 620s tests/translate/convert/test_po2ts.py::TestPO2TS::test_mixed_units_with_and_without_location PASSED [ 21%] 620s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 21%] 620s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 21%] 620s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 21%] 620s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 22%] 620s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 22%] 620s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 22%] 620s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 22%] 620s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 22%] 620s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_plural PASSED [ 22%] 620s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_plural_fuzzy PASSED [ 22%] 620s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_unit_without_location PASSED [ 22%] 620s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_mixed_units_with_and_without_location PASSED [ 22%] 620s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_substring_replacement PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_duplicate_text_segment_based_replacement PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_dokuwiki_flavour_segmentation PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_substring_replacement PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_duplicate_text_segment_based_replacement PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_dokuwiki_flavour_segmentation PASSED [ 22%] 620s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 22%] 620s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 22%] 620s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 22%] 620s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 22%] 620s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 22%] 620s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 22%] 620s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 22%] 620s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 23%] 620s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 23%] 620s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 23%] 620s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 23%] 620s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 23%] 620s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 23%] 620s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 23%] 620s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 23%] 620s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 23%] 620s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 23%] 620s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 23%] 620s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 23%] 620s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 23%] 620s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 23%] 620s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 23%] 620s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 23%] 620s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 23%] 620s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 23%] 620s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 23%] 620s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 23%] 620s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 23%] 620s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 23%] 620s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 23%] 620s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 23%] 620s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 23%] 620s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 23%] 620s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 23%] 620s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 23%] 620s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 23%] 620s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 23%] 620s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 23%] 620s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 23%] 620s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 23%] 620s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 23%] 620s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 23%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 23%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 23%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 23%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 23%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overrides_old PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurrect_obsolete_messages PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurrect_obsolete_messages_into_msgidcomment PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 24%] 620s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 25%] 620s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 25%] 620s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 620s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overrides_old PASSED [ 25%] 620s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 620s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 25%] 620s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 25%] 620s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 25%] 620s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 25%] 620s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 25%] 621s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 25%] 621s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 25%] 621s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurrect_obsolete_messages PASSED [ 25%] 621s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurrect_obsolete_messages_into_msgidcomment PASSED [ 25%] 621s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 25%] 621s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 25%] 621s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 25%] 621s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 25%] 621s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 25%] 621s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 25%] 621s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 25%] 621s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 25%] 621s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 25%] 621s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 25%] 621s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 25%] 621s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 25%] 621s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 25%] 621s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 25%] 621s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 25%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 25%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 25%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 25%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 25%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_value_no_key_entry PASSED [ 25%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 25%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 25%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 25%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 25%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 25%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_locations_mozilla PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_strings_bilingual_simple PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2PO::test_strings_bilingual_multiline PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_value_no_key_entry PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_locations_mozilla PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 26%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 27%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_strings_bilingual_simple PASSED [ 27%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_strings_bilingual_multiline PASSED [ 27%] 621s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 27%] 621s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 27%] 621s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 27%] 621s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 27%] 621s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 27%] 621s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 27%] 621s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 27%] 621s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 27%] 621s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 27%] 621s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 27%] 621s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 27%] 621s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 27%] 621s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 27%] 621s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 27%] 621s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 27%] 621s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 27%] 621s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 27%] 621s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 27%] 621s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 27%] 621s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 27%] 621s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 27%] 621s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 27%] 621s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 27%] 621s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 27%] 621s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 27%] 621s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 27%] 621s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 27%] 621s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 27%] 621s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_simple_convert PASSED [ 27%] 621s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_nested_convert PASSED [ 27%] 621s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_comment_extraction PASSED [ 27%] 621s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_merge_with_template PASSED [ 27%] 621s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 27%] 621s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 27%] 621s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 27%] 621s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 27%] 621s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 28%] 621s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 28%] 621s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 28%] 621s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 28%] 621s tests/translate/convert/test_ts2po.py::TestTS2PO::test_plural PASSED [ 28%] 621s tests/translate/convert/test_ts2po.py::TestTS2PO::test_plural_unfinished PASSED [ 28%] 621s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 28%] 621s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 28%] 621s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 28%] 621s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 28%] 621s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 28%] 621s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 28%] 621s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 28%] 621s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 28%] 621s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_plural PASSED [ 28%] 621s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_plural_unfinished PASSED [ 28%] 621s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 28%] 621s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 29%] 621s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 29%] 621s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 29%] 621s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 29%] 621s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 29%] 621s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 29%] 621s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 29%] 621s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 29%] 621s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 29%] 621s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 29%] 621s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 29%] 621s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 29%] 621s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 30%] 621s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 30%] 621s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 30%] 621s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_comment_extraction PASSED [ 30%] 621s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_comment_extraction_nested PASSED [ 30%] 621s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 30%] 621s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 30%] 621s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 30%] 621s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 30%] 621s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 30%] 621s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 30%] 621s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_comment_extraction PASSED [ 30%] 621s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_comment_extraction_nested PASSED [ 30%] 621s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 30%] 621s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 30%] 621s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 30%] 621s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 30%] 621s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 30%] 621s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 30%] 621s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 30%] 621s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 30%] 621s tests/translate/filters/test_checks.py::test_defaults PASSED [ 30%] 621s tests/translate/filters/test_checks.py::test_construct PASSED [ 30%] 621s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 30%] 621s tests/translate/filters/test_checks.py::test_messages PASSED [ 30%] 621s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 30%] 621s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 30%] 621s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 30%] 621s tests/translate/filters/test_checks.py::test_blank PASSED [ 30%] 621s tests/translate/filters/test_checks.py::test_brackets PASSED [ 30%] 621s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 30%] 621s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 30%] 621s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 30%] 621s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 30%] 621s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 30%] 621s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 30%] 621s tests/translate/filters/test_checks.py::test_escapes PASSED [ 30%] 621s tests/translate/filters/test_checks.py::test_newlines PASSED [ 30%] 621s tests/translate/filters/test_checks.py::test_tabs PASSED [ 30%] 621s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_long PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 31%] 621s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_numbers PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_options PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_printf PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_short PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 31%] 621s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 31%] 621s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_validchars PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 31%] 621s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 31%] 622s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 31%] 622s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 31%] 622s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 31%] 622s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 31%] 622s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 31%] 622s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 32%] 622s tests/translate/filters/test_checks.py::test_functions PASSED [ 32%] 622s tests/translate/filters/test_checks.py::test_emails PASSED [ 32%] 622s tests/translate/filters/test_checks.py::test_urls PASSED [ 32%] 622s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 32%] 622s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 32%] 622s tests/translate/filters/test_checks.py::test_credits PASSED [ 32%] 622s tests/translate/filters/test_checks.py::test_gconf PASSED [ 32%] 622s tests/translate/filters/test_checks.py::test_validxml PASSED [ 32%] 622s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 32%] 622s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 32%] 622s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 32%] 622s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 32%] 622s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 32%] 622s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 32%] 622s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 32%] 622s tests/translate/filters/test_checks.py::test_category PASSED [ 32%] 622s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 32%] 622s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 32%] 622s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 32%] 622s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 32%] 622s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 32%] 622s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 32%] 622s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 32%] 622s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 32%] 622s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 32%] 622s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existent_check PASSED [ 32%] 622s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 32%] 622s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 32%] 622s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 32%] 622s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 32%] 622s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 32%] 622s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 32%] 622s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 32%] 622s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 32%] 622s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 32%] 622s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 32%] 622s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 32%] 622s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 32%] 622s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existent_check PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existent_check PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existent_check PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 33%] 622s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 34%] 622s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 34%] 622s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 34%] 622s tests/translate/lang/test_af.py::test_sentences PASSED [ 34%] 622s tests/translate/lang/test_af.py::test_capsstart PASSED [ 34%] 622s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 34%] 622s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 34%] 622s tests/translate/lang/test_am.py::test_sentences PASSED [ 34%] 622s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 34%] 622s tests/translate/lang/test_ar.py::test_sentences PASSED [ 34%] 622s tests/translate/lang/test_common.py::test_characters PASSED [ 34%] 622s tests/translate/lang/test_common.py::test_words PASSED [ 34%] 622s tests/translate/lang/test_common.py::test_word_khmer PASSED [ 34%] 622s tests/translate/lang/test_common.py::test_sentences PASSED [ 34%] 622s tests/translate/lang/test_common.py::test_capsstart PASSED [ 34%] 622s tests/translate/lang/test_common.py::test_numstart PASSED [ 34%] 622s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 34%] 622s tests/translate/lang/test_common.py::test_length_difference PASSED [ 34%] 622s tests/translate/lang/test_common.py::test_alter_length PASSED [ 34%] 622s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 34%] 622s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 34%] 622s tests/translate/lang/test_data.py::test_is_rtl PASSED [ 34%] 622s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 34%] 622s tests/translate/lang/test_el.py::test_sentences PASSED [ 34%] 622s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 34%] 622s tests/translate/lang/test_es.py::test_sentences PASSED [ 34%] 622s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 34%] 622s tests/translate/lang/test_fa.py::test_sentences PASSED [ 34%] 622s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 34%] 622s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 34%] 622s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 34%] 622s tests/translate/lang/test_fr.py::test_sentences PASSED [ 34%] 622s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 34%] 622s tests/translate/lang/test_hy.py::test_sentences PASSED [ 34%] 622s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 34%] 622s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 34%] 622s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 34%] 622s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 34%] 622s tests/translate/lang/test_ja.py::test_sentences PASSED [ 34%] 622s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 35%] 622s tests/translate/lang/test_km.py::test_sentences PASSED [ 35%] 622s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 35%] 622s tests/translate/lang/test_ko.py::test_sentences PASSED [ 35%] 622s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 35%] 622s tests/translate/lang/test_ne.py::test_sentences PASSED [ 35%] 622s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 35%] 622s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 35%] 622s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 35%] 622s tests/translate/lang/test_or.py::test_country_code PASSED [ 35%] 622s tests/translate/lang/test_or.py::test_sentences PASSED [ 35%] 622s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 35%] 622s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 35%] 622s tests/translate/lang/test_ro.py::test_niciun PASSED [ 35%] 622s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 35%] 622s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 35%] 622s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 35%] 622s tests/translate/lang/test_team.py::test_simple PASSED [ 35%] 622s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 35%] 622s tests/translate/lang/test_th.py::test_sentences PASSED [ 35%] 622s tests/translate/lang/test_tr.py::test_sentences PASSED [ 35%] 622s tests/translate/lang/test_uk.py::test_sentences PASSED [ 35%] 622s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 35%] 622s tests/translate/lang/test_vi.py::test_sentences PASSED [ 35%] 622s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 35%] 622s tests/translate/lang/test_zh.py::test_sentences PASSED [ 35%] 622s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 35%] 622s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 35%] 622s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 35%] 622s tests/translate/misc/test_dictutils.py::test_cidict_pop PASSED [ 35%] 622s tests/translate/misc/test_dictutils.py::test_cidict_getitem PASSED [ 35%] 622s tests/translate/misc/test_dictutils.py::test_cidict_setitem PASSED [ 35%] 622s tests/translate/misc/test_dictutils.py::test_cidict_delitem PASSED [ 35%] 622s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 35%] 622s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 35%] 622s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 35%] 622s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 35%] 622s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 35%] 622s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 35%] 622s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 36%] 622s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 36%] 622s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 36%] 622s tests/translate/misc/test_multistring.py::TestMultistring::test_bool PASSED [ 36%] 622s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 36%] 622s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 36%] 622s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 36%] 622s tests/translate/misc/test_quote.py::test_find_all PASSED [ 36%] 622s tests/translate/misc/test_quote.py::test_extract PASSED [ 36%] 622s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 36%] 622s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 36%] 622s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 36%] 622s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 36%] 622s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_iso_8859_1 PASSED [ 36%] 622s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_ascii PASSED [ 36%] 622s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_unicode_range PASSED [ 36%] 622s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 36%] 622s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 36%] 622s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 36%] 622s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 36%] 622s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 36%] 622s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 36%] 622s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 36%] 622s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 36%] 622s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 36%] 622s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 36%] 622s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 36%] 622s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 36%] 622s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 36%] 622s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 36%] 622s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 36%] 622s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 36%] 622s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 36%] 622s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 36%] 622s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 36%] 622s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 36%] 622s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 36%] 622s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 36%] 622s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 36%] 622s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 37%] 622s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 37%] 622s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 37%] 623s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 37%] 623s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 37%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 37%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 37%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 37%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 37%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 37%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 37%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 37%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 37%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 37%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 37%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 37%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 38%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 38%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 38%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 38%] 623s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 38%] 623s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 38%] 623s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 38%] 623s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 38%] 623s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 38%] 623s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 38%] 623s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 38%] 623s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_line_number_default PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 38%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 39%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_xml PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 40%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse_decimal_plurals PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_to_plurals PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_empty_missing_plural_tag PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_line_number_default PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escape_quote PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 41%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_isfuzzy PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_create PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_eq PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_escapes PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_difficult_escapes PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_note_sanity PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_line_number_default PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_target PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_rich_get PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_rich_set PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_escape_quote PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_create_blank PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_add PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_remove PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_find PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_parse PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_files PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_save PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_extensions PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_mimetypes PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_translate PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_markup PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_nonascii PASSED [ 42%] 623s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_quote_escape PASSED [ 42%] 623s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 42%] 623s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 42%] 623s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 42%] 623s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 42%] 623s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 42%] 623s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 623s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 623s tests/translate/storage/test_base.py::TestTranslationUnit::test_line_number_default PASSED [ 43%] 623s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 43%] 623s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 43%] 623s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 43%] 623s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 43%] 623s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 43%] 623s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 43%] 623s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 43%] 623s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 43%] 623s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 43%] 623s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 43%] 623s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 43%] 623s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 43%] 623s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 43%] 623s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 43%] 623s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_create_empty_bundle PASSED [ 43%] 623s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_create_bundle_from_nonexistent_file PASSED [ 43%] 623s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle PASSED [ 43%] 623s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save PASSED [ 43%] 623s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip PASSED [ 43%] 623s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle PASSED [ 43%] 623s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_update_file_in_bundle PASSED [ 43%] 623s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle PASSED [ 43%] 623s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_invalid_bundle_error PASSED [ 43%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 43%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 43%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 43%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 43%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 43%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_line_number_default PASSED [ 43%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 43%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 43%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 43%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 43%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 43%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 43%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 43%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 44%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 44%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 44%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 44%] 623s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_line_number_default PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 44%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 45%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 45%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 45%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 45%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 45%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding_save PASSED [ 45%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_id_target PASSED [ 45%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_context_target PASSED [ 45%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_key_translation PASSED [ 45%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_roundtrip PASSED [ 45%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_context_roundtrip PASSED [ 45%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_id_context_roundtrip PASSED [ 45%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_target_only_roundtrip PASSED [ 45%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_quote_nonnumeric_handling PASSED [ 45%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_quote_nonnumeric_with_single_quotes PASSED [ 45%] 623s tests/translate/storage/test_csvl10n.py::TestCSV::test_line_number PASSED [ 45%] 623s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 45%] 623s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 45%] 623s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 45%] 623s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 45%] 623s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 45%] 623s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 45%] 623s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 45%] 623s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 45%] 623s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 45%] 623s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 45%] 623s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 45%] 623s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 45%] 623s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 45%] 623s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 45%] 623s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 45%] 623s tests/translate/storage/test_dtd.py::TestDTDUnit::test_line_number_default PASSED [ 45%] 623s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 45%] 623s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 45%] 623s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 45%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 45%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 45%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_multiple_blank_lines PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_entity_with_extra_spaces PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestDTD::test_mixed_content_preservation PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 46%] 623s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 623s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 623s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 47%] 623s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 47%] 623s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 47%] 623s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 47%] 623s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 47%] 623s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 47%] 623s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 47%] 623s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 47%] 623s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 47%] 623s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 47%] 623s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 47%] 623s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 47%] 623s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 47%] 623s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 47%] 623s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 47%] 623s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 47%] 623s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 47%] 623s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 47%] 624s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 47%] 624s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 47%] 624s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 47%] 624s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 47%] 624s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 47%] 624s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 47%] 624s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 47%] 624s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 47%] 624s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 47%] 624s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 47%] 624s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 47%] 624s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 47%] 624s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 47%] 624s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 47%] 624s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 47%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 47%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 47%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 47%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 47%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_line_number_default PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 48%] 624s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 48%] 624s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 48%] 624s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 48%] 624s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 48%] 624s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 48%] 624s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 48%] 624s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 48%] 624s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 48%] 624s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 48%] 624s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 48%] 624s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 48%] 624s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 48%] 624s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_button PASSED [ 48%] 624s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_lang_attribute PASSED [ 48%] 624s tests/translate/storage/test_html.py::TestHTMLExtraction::test_dir_attribute_not_extracted PASSED [ 49%] 624s tests/translate/storage/test_html.py::TestHTMLExtraction::test_data_translate_ignore_attribute PASSED [ 49%] 624s tests/translate/storage/test_html.py::TestHTMLExtraction::test_translate_comment_directives PASSED [ 49%] 624s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_social_media_tags PASSED [ 49%] 624s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_non_translatable_tags PASSED [ 49%] 624s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_mixed_translatable_and_non_translatable PASSED [ 49%] 624s tests/translate/storage/test_html.py::TestHTMLExtraction::test_data_translate_comment_attribute PASSED [ 49%] 624s tests/translate/storage/test_html_context.py::test_html_context_basic PASSED [ 49%] 624s tests/translate/storage/test_html_context.py::test_html_context_attribute PASSED [ 49%] 624s tests/translate/storage/test_html_context.py::test_html_context_attribute_with_id PASSED [ 49%] 624s tests/translate/storage/test_html_context.py::test_html_context_same_source_different_contexts PASSED [ 49%] 624s tests/translate/storage/test_html_context.py::test_html_context_nested_outer_wins PASSED [ 49%] 624s tests/translate/storage/test_html_context.py::test_html_context_absent PASSED [ 49%] 624s tests/translate/storage/test_html_context.py::test_html_context_id_overridden_by_explicit PASSED [ 49%] 624s tests/translate/storage/test_html_context.py::test_html_context_id_not_used_when_no_duplicates PASSED [ 49%] 624s tests/translate/storage/test_html_context.py::test_html_context_id_not_used_when_data_translate_context_identical PASSED [ 49%] 624s tests/translate/storage/test_html_context.py::test_html_context_disambiguates_duplicates_with_id PASSED [ 49%] 624s tests/translate/storage/test_html_context.py::test_html_context_disambiguates_duplicates_with_ancestor_id PASSED [ 49%] 624s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 49%] 624s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 49%] 624s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 49%] 624s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 49%] 624s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 49%] 624s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 49%] 624s tests/translate/storage/test_ini.py::TestINIUnit::test_line_number_default PASSED [ 49%] 624s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 49%] 624s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 49%] 624s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 49%] 624s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 49%] 624s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 49%] 624s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 49%] 624s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 49%] 624s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 49%] 624s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 49%] 624s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 49%] 624s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 49%] 624s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 49%] 624s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 49%] 624s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 49%] 624s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 624s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 624s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_line_number_default PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 50%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_line_number_default PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_line_number_default PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 51%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_comments PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 52%] 624s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 53%] 624s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 54%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_invalid_nesting PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_empty_metadata_not_stored PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_invalid PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_isfuzzy PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_create PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_eq PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_escapes PASSED [ 55%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_difficult_escapes PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_note_sanity PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_line_number_default PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_target PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_rich_get PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_rich_set PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_source_property_maps_to_id PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_source_roundtrip PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_create_blank PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_remove PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_find PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_files PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_save PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_extensions PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_mimetypes PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_translate PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_markup PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_nonascii PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse_simple PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_serialize_simple PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse_with_plurals PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_preserve_plural_form PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_roundtrip_with_plurals PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_ignore_non_translations_keys PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_preserve_other_metadata PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add_unit PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add_plural_unit PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_empty_translations PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_create_blank PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_add PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_remove PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_find PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_parse PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_files PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_save PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_extensions PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_mimetypes PASSED [ 56%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_translate PASSED [ 57%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_markup PASSED [ 57%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_nonascii PASSED [ 57%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_roundtrip PASSED [ 57%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_basic_parsing PASSED [ 57%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_multiple_metadata PASSED [ 57%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_no_metadata PASSED [ 57%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_edit_target PASSED [ 57%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_edit_notes PASSED [ 57%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_keys_with_dots PASSED [ 57%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_leading_dot_keys PASSED [ 57%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_invalid_nesting PASSED [ 57%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_property_get_set PASSED [ 57%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_property_persists PASSED [ 57%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_getcontext_returns_id PASSED [ 57%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_parsing_preserves_order PASSED [ 57%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_metadata_without_translation PASSED [ 57%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_complex_keys_with_multiple_dots PASSED [ 57%] 624s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_empty_string PASSED [ 57%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_basic PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_with_markup PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_with_code_block PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_multiple_ignore_sections PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_at_start PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_at_end PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_nested_structures_in_ignore PASSED [ 58%] 624s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_link_references_in_ignore PASSED [ 58%] 624s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 624s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 624s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 624s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 624s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 624s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 624s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 624s tests/translate/storage/test_mo.py::TestMOUnit::test_line_number_default PASSED [ 58%] 624s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 624s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 624s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 624s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 624s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 624s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 624s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 59%] 624s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 59%] 624s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 59%] 624s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 59%] 624s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 59%] 624s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 59%] 624s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 59%] 624s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 59%] 624s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 624s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 624s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 624s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 59%] 624s tests/translate/storage/test_mo.py::TestMOFile::test_endian_version_parsing PASSED [ 59%] 624s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 624s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 624s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 624s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 624s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 624s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 624s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_line_number_default PASSED [ 59%] 624s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 624s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 624s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 624s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 624s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 624s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 624s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 624s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 624s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 624s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 624s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 624s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 624s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 624s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 624s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 624s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 624s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 624s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 624s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 624s 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%] 624s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_line_number_default PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 624s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_line_number PASSED [ 61%] 624s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_isfuzzy PASSED [ 61%] 624s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_create PASSED [ 61%] 624s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_eq PASSED [ 61%] 624s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_target PASSED [ 61%] 624s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_escapes PASSED [ 61%] 624s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_difficult_escapes PASSED [ 61%] 624s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_note_sanity PASSED [ 61%] 624s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_line_number_default PASSED [ 61%] 624s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_rich_get PASSED [ 61%] 624s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_rich_set PASSED [ 61%] 624s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_create_blank PASSED [ 61%] 624s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_add PASSED [ 61%] 624s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_remove PASSED [ 61%] 624s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_find PASSED [ 61%] 624s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_translate PASSED [ 61%] 624s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_parse PASSED [ 61%] 624s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_files PASSED [ 61%] 624s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_save PASSED [ 61%] 624s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_markup PASSED [ 61%] 624s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_nonascii PASSED [ 61%] 624s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_mimetypes PASSED [ 61%] 624s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_extensions XFAIL [ 61%] 624s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 624s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 624s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 624s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 624s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 624s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 624s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 624s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 624s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 624s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpUnit::test_line_number_default PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 62%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 624s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 625s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 625s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 625s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 625s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 625s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 625s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 625s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 625s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 625s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 63%] 625s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 63%] 625s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 63%] 625s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 63%] 625s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 63%] 625s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 63%] 625s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_with_spaces PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_with_comments PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_line_number_default PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping_array_syntax PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping_numeric_keys PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_roundtrip_short_array PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_roundtrip_array_syntax PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_preserves_structure PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_with_array_syntax PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_addunit_with_setid PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_unit_to_short_array_file PASSED [ 64%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_unit_to_array_function_file PASSED [ 65%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_multiple_units_to_short_array PASSED [ 65%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_multiple_units_to_array_function PASSED [ 65%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_numeric_keys_no_quotes PASSED [ 65%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_empty_string_key PASSED [ 65%] 625s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_with_non_string_value PASSED [ 65%] 625s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOUnit::test_line_number_default PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 625s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_invalid_keyword PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 66%] 625s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_spaces PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_fit PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_overflow PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_multiline PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_escapes PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_wrap_escape_line PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_wrap_wide_stop PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_wrap_escape PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_c_style_comment_error_reporting PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_unusual_line_endings PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_charset_with_space PASSED [ 67%] 625s tests/translate/storage/test_po.py::TestPOFile::test_duplicate_msgid_error PASSED [ 67%] 625s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 625s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 625s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 625s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 625s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 625s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 625s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 625s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 625s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 625s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 625s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 625s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_line_number_default PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 68%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_marktranslatable PASSED [ 69%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_groups_when_adding_units PASSED [ 69%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_multiple_files_and_groups PASSED [ 69%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_unit_to_existing_group PASSED [ 69%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_unit_to_different_file PASSED [ 69%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mixed_groups_and_body PASSED [ 69%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addunit_with_new_false PASSED [ 69%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace_preservation_across_versions PASSED [ 69%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_units_between_different_files PASSED [ 69%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_group_preservation_across_different_namespaces PASSED [ 69%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_cross_namespace_group_and_file_preservation PASSED [ 69%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 625s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 626s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 626s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 626s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 626s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 626s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 626s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 626s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 626s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 626s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 626s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 626s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 626s tests/translate/storage/test_properties.py::test_find_delimiter_pos_empty_and_whitespace PASSED [ 69%] 626s tests/translate/storage/test_properties.py::test_find_delimiter_pos_tabs PASSED [ 69%] 626s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 626s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 626s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 626s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 626s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 626s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 626s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestPropUnit::test_line_number_default PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 626s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_tab_delimiter_parsing PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comments PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comments_nested PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comment_with_spaces PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_before_entry PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_between_key_and_equals PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_between_equals_and_value PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_after_value_before_semicolon PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multiple_inline_comments PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_nested_comment PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_inside_value PASSED [ 71%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_trailing_whitespace_after_semicolon PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestProp::test_utf16_bom_no_warning PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 626s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 626s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 626s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 626s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 626s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_line_number_default PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_with_blank_lines PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 74%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid_keyword PASSED [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 626s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 75%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 75%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 75%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 75%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 75%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 75%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 75%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 75%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 75%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_spaces PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_fit PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_overflow PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_multiline PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_escapes PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_escape_line PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_wide_stop PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_escape PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_c_style_comment_error_reporting PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unusual_line_endings PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_charset_with_space PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_duplicate_msgid_error PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_future_flags PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 627s tests/translate/storage/test_pypo.py::TestPYPOFile::test_line_number PASSED [ 77%] 627s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 627s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 627s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 627s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 627s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 627s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 627s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 627s tests/translate/storage/test_qm.py::TestQtUnit::test_line_number_default PASSED [ 77%] 627s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 627s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 627s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 627s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 627s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 627s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 627s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 627s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 627s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 627s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 627s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 627s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 627s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 627s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 627s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 77%] 627s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 77%] 627s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphUnit::test_line_number_default PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 627s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 627s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 78%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 78%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 78%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 78%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 78%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 78%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 78%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_utf16_pragma_code_page PASSED [ 79%] 627s tests/translate/storage/test_rc.py::TestRcFile::test_utf8_pragma_code_page PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_line_number_default PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 79%] 627s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 79%] 627s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 79%] 627s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 79%] 627s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 79%] 627s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 79%] 627s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 79%] 627s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 79%] 627s tests/translate/storage/test_resx.py::TestRESXUnit::test_line_number_default PASSED [ 79%] 627s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_line_number_default PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 80%] 627s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 80%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 80%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 80%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 80%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 80%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 80%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 80%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_line_number_default PASSED [ 80%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 80%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 80%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 80%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 80%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 80%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 627s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 627s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 81%] 627s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 81%] 627s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 81%] 627s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 81%] 627s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 81%] 627s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 81%] 627s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 81%] 627s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 81%] 627s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 81%] 627s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 81%] 627s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 81%] 627s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 81%] 627s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_ordering PASSED [ 81%] 627s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create_blank PASSED [ 81%] 627s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_add PASSED [ 81%] 627s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_remove PASSED [ 81%] 627s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_find PASSED [ 81%] 627s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_parse PASSED [ 81%] 627s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_files PASSED [ 81%] 627s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_save PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_extensions PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_mimetypes PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_translate PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_markup PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_nonascii PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_ordering PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 627s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_ordering PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_ordering PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_style_preservation PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 82%] 627s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 627s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 627s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 627s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 627s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 627s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 627s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 627s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 627s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_ordering PASSED [ 83%] 627s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_style_preservation PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXUnit::test_line_number_default PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 83%] 627s tests/translate/storage/test_tbx.py::TestTBXfile::test_administrative_status_and_translation_needed PASSED [ 84%] 627s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 627s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 627s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 627s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 627s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 627s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXUnit::test_line_number_default PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_line_number_default PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_context PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 84%] 627s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 627s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 627s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 627s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 627s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 627s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 627s tests/translate/storage/test_tmx.py::TestTMXfile::test_context PASSED [ 85%] 627s tests/translate/storage/test_tmx.py::TestTMXfile::test_note_order PASSED [ 85%] 627s tests/translate/storage/test_tmx.py::TestTMXfile::test_prop_and_note_order PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_isfuzzy PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_create PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_eq PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_escapes PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_difficult_escapes PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_note_sanity PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_line_number_default PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_target PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_rich_get PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_rich_set PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_getlocations PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_create_blank PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_add PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_find PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_parse PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_files PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_save PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_extensions PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_mimetypes PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_translate PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_markup PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_nonascii PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_serialize PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_empty PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_edit PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_edit_unicode PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_parse_unicode_list PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_ordering PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_nested PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline PASSED [ 85%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_boolean PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_integer PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_no_quote_strings PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_double_quote_strings PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_single_quote_strings PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_escaped_double_quotes PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_newlines PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_list PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_inline_table PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_key_nesting PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_add_to_empty PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_dict_in_list PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_remove PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_special PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_extraction_simple PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_extraction_multiline PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_no_comment_backwards_compat PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_simple PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_multiline PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_nested PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_with_modification PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_literal_string PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline_basic_string PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline_literal_string PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_create_blank PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_add PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_remove PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_find PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_parse PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_files PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_save PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_extensions PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_mimetypes PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_translate PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_markup PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_nonascii PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_simple_plural PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_plural_with_other_keys PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_full_plural_forms PASSED [ 86%] 627s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_roundtrip_plural PASSED [ 87%] 627s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_mixed_content PASSED [ 87%] 627s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_letsencrypt_style PASSED [ 87%] 627s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_comment_preservation_goi18n PASSED [ 87%] 627s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_comment_preservation_goi18n_plural PASSED [ 87%] 627s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 627s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 627s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSUnit::test_line_number_default PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 87%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 627s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 627s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 627s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 627s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 627s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 627s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 627s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 627s tests/translate/storage/test_txt.py::TestTxtUnit::test_line_number_default PASSED [ 88%] 628s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 628s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 628s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 628s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 628s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 628s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 628s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 628s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 88%] 628s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 88%] 628s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 88%] 628s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 88%] 628s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 88%] 628s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 88%] 628s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 88%] 628s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 88%] 628s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 88%] 628s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 88%] 628s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 88%] 628s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 88%] 628s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 88%] 628s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 88%] 628s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 88%] 628s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 88%] 628s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 88%] 628s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 628s tests/translate/storage/test_utx.py::TestUtxUnit::test_line_number_default PASSED [ 89%] 628s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 628s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 628s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 628s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 628s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 628s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 628s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 628s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 628s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 628s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 628s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 628s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 628s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 628s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFUnit::test_line_number_default PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 628s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 628s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 628s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 628s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_line_number_default PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_marktranslatable PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_groups_when_adding_units PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_multiple_files_and_groups PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_unit_to_existing_group PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_unit_to_different_file PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mixed_groups_and_body PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addunit_with_new_false PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace_preservation_across_versions PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_units_between_different_files PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_group_preservation_across_different_namespaces PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_cross_namespace_group_and_file_preservation PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 91%] 628s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 91%] 629s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 91%] 629s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 91%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_isfuzzy PASSED [ 91%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_create PASSED [ 91%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_eq PASSED [ 91%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_target PASSED [ 91%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_escapes PASSED [ 91%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_difficult_escapes PASSED [ 91%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_note_sanity PASSED [ 91%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_line_number_default PASSED [ 91%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_rich_get PASSED [ 91%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_rich_set PASSED [ 91%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_notes PASSED [ 91%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_id_management PASSED [ 91%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_marktranslatable PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_create_blank PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_add PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_remove PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_find PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_translate PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_files PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_save PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_markup PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_nonascii PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_extensions PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_mimetypes PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_basic PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_source_target PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_language_attributes PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_namespace PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_unit_structure PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_multiple_units PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse_xliff2 PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse_translate_attribute PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_multiple_segments_per_unit PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_mixed_single_and_multiple_segments PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_segments_without_ids PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_escaped_inline_tags PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_simple_source_target_pairs PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_malformed_xml_declaration PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_variable_placeholders PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_add_unit PASSED [ 92%] 629s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_states PASSED [ 92%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_line_number_default PASSED [ 92%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_simple PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_multiline PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_nested PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_mixed PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_comment_backwards_compat PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline_literal_format PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_blank PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_partial PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_pt_br PASSED [ 94%] 629s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_bug_ruby_remove_zero_few_and_mix_others PASSED [ 94%] 629s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 629s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 629s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 629s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 95%] 629s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 95%] 629s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 95%] 629s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 95%] 629s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 95%] 629s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 95%] 629s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 95%] 629s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 95%] 629s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 95%] 629s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 95%] 629s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 95%] 629s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 95%] 629s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 95%] 629s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 95%] 629s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 95%] 629s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 629s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 629s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 629s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 629s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 629s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 629s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 629s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 629s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 629s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 629s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 629s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 629s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 629s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 629s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 629s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 629s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 629s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 629s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 629s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 629s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 629s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 629s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 629s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 629s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::test_csv_line_terminator PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_fuzzy_with_target PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_fuzzy_without_target PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_translated_not_fuzzy PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_untranslated_empty_target PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_categorization_mutually_exclusive PASSED [ 96%] 629s tests/translate/tools/test_pocount.py::TestPOCountLineEndings::test_unusual_line_endings PASSED [ 96%] 629s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 629s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 629s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 97%] 629s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank_clears_fuzzy PASSED [ 97%] 629s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank_with_plurals PASSED [ 97%] 629s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 97%] 629s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 97%] 629s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 97%] 629s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 97%] 629s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 97%] 629s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 97%] 629s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 97%] 629s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 97%] 629s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 630s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 630s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 630s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 630s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 630s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 630s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 630s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 630s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 630s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 630s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 630s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 630s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 630s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 630s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 630s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 630s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 630s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 630s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 630s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 630s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 630s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 630s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 630s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 630s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 630s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 630s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 630s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 630s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 630s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 630s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 630s tests/translate/tools/test_posegment.py::TestPOSegment::test_transifex_po PASSED [ 98%] 630s tests/translate/tools/test_posegment.py::TestXLIFFSegment::test_xliff_en_simple PASSED [ 98%] 630s tests/translate/tools/test_posegment.py::TestXLIFFSegment::test_xliff_untranslated PASSED [ 98%] 630s tests/translate/tools/test_posegment.py::TestTMXSegment::test_tmx_en_simple PASSED [ 98%] 630s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 630s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_unitinfo_stores_minimal_data PASSED [ 98%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overrides_old PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurrect_obsolete_messages PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overrides_old PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurrect_obsolete_messages PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 630s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 630s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 630s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 630s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 630s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 630s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 630s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 630s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 630s 630s =============================== warnings summary =============================== 630s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 630s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.Lga1Rh/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 630s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 630s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 630s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 630s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 630s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 630s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 630s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 630s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 630s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 630s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 630s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 630s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 630s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 630s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 630s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 630s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 630s Warning: Could not find accesskey for key.accesskey 630s 630s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 630s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 630s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 630s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 630s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 630s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.Lga1Rh/autopkgtest_tmp/tests/translate/convert/test.idml'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 630s Warning: unclosed file <_io.BufferedReader name='translation.po'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert 630s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert_with_multiple_units 630s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 630s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.Lga1Rh/autopkgtest_tmp/tests/translate/convert/test.odt'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple 630s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple 630s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 630s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 630s Warning: Could not find accesskey for prop.accesskey 630s 630s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context 630s Warning: unclosed file <_io.BufferedReader name='test.po'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context 630s Warning: unclosed file <_io.TextIOWrapper name='TestPO2TMXCommand_test_context/test.tmx' mode='r' encoding='UTF-8'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 630s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 630s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 630s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 630s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 630s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 630s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 630s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 630s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 630s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 630s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 630s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 630s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 630s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 630s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 630s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 630s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 630s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 630s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 630s 630s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle 630s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle 630s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpscjd_snu_test.txt'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save 630s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save 630s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpsfytsax6_crossdevice.txt'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip 630s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip 630s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp9fcobsr8_initial.txt'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 630s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 630s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp66tgvegr_load_test.txt'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 630s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 630s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpqgllttkx_load_test.txt'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 630s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 630s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp4k7ph63z_file0.txt'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 630s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 630s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp0uylf3gf_file1.txt'> 630s Enable tracemalloc to get traceback where the object was allocated. 630s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 630s 630s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 630s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 630s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpv8mrei53_file2.txt'> 630s Enable tracemalloc to get traceback where the object was allocated. 631s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 631s 631s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 631s Warning: DTD parse error: :1:35:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 631s :1:35:FATAL:PARSER:ERR_EXT_SUBSET_NOT_FINISHED: Content error in the external subset 631s 631s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 631s Warning: DTD file '' does not validate 631s 631s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 631s --------------------------- snapshot report summary ---------------------------- 631s 23 snapshots passed. 631s =========================== short test summary info ============================ 631s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 631s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 631s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 631s SKIPPED [1] tests/translate/storage/test_mo.py:512: Skip testing command line tools 631s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 631s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:47: Skip testing command line tools 631s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:57: Skip testing command line tools 631s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 631s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 631s XFAIL tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_table - https://github.com/miyuchina/mistletoe/issues/244 631s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 631s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 631s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 631s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 631s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 631s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 631s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 631s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 631s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 631s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 631s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 631s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 631s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 631s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 631s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 631s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 631s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 631s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 631s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 631s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 631s 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 631s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 631s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 631s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 631s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 631s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 631s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 631s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 631s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 631s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 631s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 631s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 631s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 631s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 631s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 631s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 631s ========== 3843 passed, 22 skipped, 39 xfailed, 69 warnings in 19.04s ========== 631s autopkgtest [06:19:42]: test python3-translate: -----------------------] 632s autopkgtest [06:19:43]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 632s python3-translate PASS 632s autopkgtest [06:19:43]: test python3-translate-commands: preparing testbed 652s Creating nova instance adt-resolute-ppc64el-translate-toolkit-20260130-060910-juju-7f2275-prod-proposed-migration-environment-20-64f04fde-c3da-4de1-92d5-8666d8976d7e from image adt/ubuntu-resolute-ppc64el-server-20260129.img (UUID 011be5ba-3d23-459d-9a9a-537803b22566)... 701s autopkgtest [06:20:52]: testbed dpkg architecture: ppc64el 701s autopkgtest [06:20:52]: testbed apt version: 3.1.14 702s autopkgtest [06:20:53]: @@@@@@@@@@@@@@@@@@@@ test bed setup 702s autopkgtest [06:20:53]: testbed release detected to be: resolute 703s autopkgtest [06:20:54]: updating testbed package index (apt update) 703s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 703s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 703s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 703s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 703s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [2820 B] 703s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1600 kB] 704s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [103 kB] 704s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [33.0 kB] 704s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el Packages [119 kB] 704s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/universe ppc64el Packages [1131 kB] 704s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse ppc64el Packages [22.2 kB] 704s Fetched 3136 kB in 1s (4061 kB/s) 705s Reading package lists... 705s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 705s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 705s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 705s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 706s Reading package lists... 706s Reading package lists... 706s Building dependency tree... 706s Reading state information... 707s Calculating upgrade... 707s The following packages will be upgraded: 707s bzip2 gcc-15-base inetutils-telnet libatomic1 libbz2-1.0 libgcc-s1 707s libsgutils2-1.48 libsqlite3-0 libstdc++6 sg3-utils sg3-utils-udev telnet 707s 12 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 707s Need to get 3302 kB of archives. 707s After this operation, 3072 B of additional disk space will be used. 707s Get:1 http://ftpmaster.internal/ubuntu resolute/main ppc64el libatomic1 ppc64el 15.2.0-12ubuntu1 [11.0 kB] 707s Get:2 http://ftpmaster.internal/ubuntu resolute/main ppc64el libstdc++6 ppc64el 15.2.0-12ubuntu1 [922 kB] 707s Get:3 http://ftpmaster.internal/ubuntu resolute/main ppc64el gcc-15-base ppc64el 15.2.0-12ubuntu1 [59.6 kB] 707s Get:4 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgcc-s1 ppc64el 15.2.0-12ubuntu1 [40.2 kB] 707s Get:5 http://ftpmaster.internal/ubuntu resolute/main ppc64el bzip2 ppc64el 1.0.8-6build2 [37.6 kB] 707s Get:6 http://ftpmaster.internal/ubuntu resolute/main ppc64el libbz2-1.0 ppc64el 1.0.8-6build2 [47.7 kB] 707s Get:7 http://ftpmaster.internal/ubuntu resolute/main ppc64el libsqlite3-0 ppc64el 3.46.1-9 [825 kB] 707s Get:8 http://ftpmaster.internal/ubuntu resolute/main ppc64el inetutils-telnet ppc64el 2:2.7-2ubuntu1 [125 kB] 707s Get:9 http://ftpmaster.internal/ubuntu resolute/main ppc64el telnet all 0.17+2.7-2ubuntu1 [3636 B] 707s Get:10 http://ftpmaster.internal/ubuntu resolute/main ppc64el libsgutils2-1.48 ppc64el 1.48-3ubuntu2 [143 kB] 707s Get:11 http://ftpmaster.internal/ubuntu resolute/main ppc64el sg3-utils ppc64el 1.48-3ubuntu2 [1080 kB] 708s Get:12 http://ftpmaster.internal/ubuntu resolute/main ppc64el sg3-utils-udev all 1.48-3ubuntu2 [6610 B] 708s dpkg-preconfigure: unable to re-open stdin: No such file or directory 708s Fetched 3302 kB in 1s (3796 kB/s) 709s (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 ... 120856 files and directories currently installed.) 709s Preparing to unpack .../libatomic1_15.2.0-12ubuntu1_ppc64el.deb ... 709s Unpacking libatomic1:ppc64el (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 709s Preparing to unpack .../libstdc++6_15.2.0-12ubuntu1_ppc64el.deb ... 709s Unpacking libstdc++6:ppc64el (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 709s Preparing to unpack .../gcc-15-base_15.2.0-12ubuntu1_ppc64el.deb ... 709s Unpacking gcc-15-base:ppc64el (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 709s Setting up gcc-15-base:ppc64el (15.2.0-12ubuntu1) ... 710s (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 ... 120856 files and directories currently installed.) 710s Preparing to unpack .../libgcc-s1_15.2.0-12ubuntu1_ppc64el.deb ... 710s Unpacking libgcc-s1:ppc64el (15.2.0-12ubuntu1) over (15.2.0-11ubuntu1) ... 710s Setting up libgcc-s1:ppc64el (15.2.0-12ubuntu1) ... 710s (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 ... 120856 files and directories currently installed.) 710s Preparing to unpack .../bzip2_1.0.8-6build2_ppc64el.deb ... 710s Unpacking bzip2 (1.0.8-6build2) over (1.0.8-6build1) ... 710s Preparing to unpack .../libbz2-1.0_1.0.8-6build2_ppc64el.deb ... 710s Unpacking libbz2-1.0:ppc64el (1.0.8-6build2) over (1.0.8-6build1) ... 710s Setting up libbz2-1.0:ppc64el (1.0.8-6build2) ... 710s (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 ... 120856 files and directories currently installed.) 710s Preparing to unpack .../0-libsqlite3-0_3.46.1-9_ppc64el.deb ... 711s Unpacking libsqlite3-0:ppc64el (3.46.1-9) over (3.46.1-8) ... 711s Preparing to unpack .../1-inetutils-telnet_2%3a2.7-2ubuntu1_ppc64el.deb ... 711s Unpacking inetutils-telnet (2:2.7-2ubuntu1) over (2:2.6-4ubuntu1) ... 711s Preparing to unpack .../2-telnet_0.17+2.7-2ubuntu1_all.deb ... 711s Unpacking telnet (0.17+2.7-2ubuntu1) over (0.17+2.6-4ubuntu1) ... 711s Preparing to unpack .../3-libsgutils2-1.48_1.48-3ubuntu2_ppc64el.deb ... 711s Unpacking libsgutils2-1.48:ppc64el (1.48-3ubuntu2) over (1.48-3ubuntu1) ... 711s Preparing to unpack .../4-sg3-utils_1.48-3ubuntu2_ppc64el.deb ... 711s Unpacking sg3-utils (1.48-3ubuntu2) over (1.48-3ubuntu1) ... 712s Preparing to unpack .../5-sg3-utils-udev_1.48-3ubuntu2_all.deb ... 712s Unpacking sg3-utils-udev (1.48-3ubuntu2) over (1.48-3ubuntu1) ... 712s Setting up libsqlite3-0:ppc64el (3.46.1-9) ... 712s Setting up inetutils-telnet (2:2.7-2ubuntu1) ... 712s Setting up libsgutils2-1.48:ppc64el (1.48-3ubuntu2) ... 712s Setting up bzip2 (1.0.8-6build2) ... 712s Setting up libatomic1:ppc64el (15.2.0-12ubuntu1) ... 712s Setting up libstdc++6:ppc64el (15.2.0-12ubuntu1) ... 712s Setting up sg3-utils (1.48-3ubuntu2) ... 712s Setting up telnet (0.17+2.7-2ubuntu1) ... 712s Setting up sg3-utils-udev (1.48-3ubuntu2) ... 712s update-initramfs: deferring update (trigger activated) 713s Processing triggers for libc-bin (2.42-2ubuntu4) ... 713s Processing triggers for man-db (2.13.1-1) ... 716s Processing triggers for initramfs-tools (0.150ubuntu7) ... 716s update-initramfs: Generating /boot/initrd.img-6.18.0-9-generic 730s autopkgtest [06:21:21]: upgrading testbed (apt dist-upgrade and autopurge) 730s Reading package lists... 730s Building dependency tree... 730s Reading state information... 731s Calculating upgrade... 731s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 731s Reading package lists... 731s Building dependency tree... 731s Reading state information... 731s Solving dependencies... 731s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 731s autopkgtest [06:21:22]: rebooting testbed after setup commands that affected boot 775s Reading package lists... 775s Building dependency tree... 775s Reading state information... 775s Solving dependencies... 776s The following NEW packages will be installed: 776s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 776s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 776s libhunspell-1.7-0 libpython3.14-minimal libpython3.14-stdlib libserf-1-1 776s libsvn1 libutf8proc3 libxapian30 libxslt1.1 python3-aeidon python3-all 776s python3-bs4 python3-charset-normalizer python3-cheroot 776s python3-diff-match-patch python3-enchant python3-iniconfig python3-iniparse 776s python3-levenshtein python3-lxml python3-mistletoe python3-phply 776s python3-pluggy python3-ply python3-pycountry python3-pytest python3-pytz 776s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 776s python3-soupsieve python3-syrupy python3-tomlkit python3-translate 776s python3-unicode-segmentation-rs python3-vobject python3-xapian python3.14 776s python3.14-minimal subversion translate-toolkit 776s 0 upgraded, 50 newly installed, 0 to remove and 0 not upgraded. 776s Need to get 21.0 MB of archives. 776s After this operation, 104 MB of additional disk space will be used. 776s Get:1 http://ftpmaster.internal/ubuntu resolute/main ppc64el libpython3.14-minimal ppc64el 3.14.2-1 [921 kB] 776s Get:2 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3.14-minimal ppc64el 3.14.2-1 [2712 kB] 776s Get:3 http://ftpmaster.internal/ubuntu resolute/main ppc64el emacsen-common all 3.0.8 [13.9 kB] 776s Get:4 http://ftpmaster.internal/ubuntu resolute/main ppc64el dictionaries-common all 1.31.3 [179 kB] 776s Get:5 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgomp1 ppc64el 15.2.0-12ubuntu1 [169 kB] 776s Get:6 http://ftpmaster.internal/ubuntu resolute/main ppc64el gettext ppc64el 0.23.2-1 [1177 kB] 776s Get:7 http://ftpmaster.internal/ubuntu resolute/main ppc64el hunspell-en-us all 1:2020.12.07-4build1 [585 kB] 776s Get:8 http://ftpmaster.internal/ubuntu resolute/main ppc64el libapr1t64 ppc64el 1.7.6-3 [141 kB] 776s Get:9 http://ftpmaster.internal/ubuntu resolute/main ppc64el libaprutil1t64 ppc64el 1.6.3-3ubuntu3 [113 kB] 776s Get:10 http://ftpmaster.internal/ubuntu resolute/main ppc64el libaspell15 ppc64el 0.60.8.1-6 [393 kB] 776s Get:11 http://ftpmaster.internal/ubuntu resolute/main ppc64el libhunspell-1.7-0 ppc64el 1.7.2+really1.7.2-11 [327 kB] 776s Get:12 http://ftpmaster.internal/ubuntu resolute/main ppc64el libenchant-2-2 ppc64el 2.8.2+dfsg1-3build1 [67.8 kB] 776s Get:13 http://ftpmaster.internal/ubuntu resolute/main ppc64el libexttextcat-data all 3.4.7-1ubuntu2 [193 kB] 776s Get:14 http://ftpmaster.internal/ubuntu resolute/main ppc64el libpython3.14-stdlib ppc64el 3.14.2-1 [2444 kB] 776s Get:15 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libserf-1-1 ppc64el 1.3.10-3ubuntu1 [56.6 kB] 776s Get:16 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libutf8proc3 ppc64el 2.10.0-2 [73.5 kB] 776s Get:17 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libsvn1 ppc64el 1.14.5-5 [1683 kB] 777s Get:18 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libxapian30 ppc64el 1.4.29-3 [810 kB] 777s Get:19 http://ftpmaster.internal/ubuntu resolute/main ppc64el libxslt1.1 ppc64el 1.1.43-0.3 [190 kB] 777s Get:20 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-aeidon all 1.15-2build1 [225 kB] 777s Get:21 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3.14 ppc64el 3.14.2-1 [816 kB] 777s Get:22 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-all ppc64el 3.13.9-3 [890 B] 777s Get:23 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-soupsieve all 2.8.3-1 [34.0 kB] 777s Get:24 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-bs4 all 4.14.3-2build1 [84.8 kB] 777s Get:25 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-charset-normalizer ppc64el 3.4.4-2 [175 kB] 777s Get:26 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-cheroot all 11.1.2+ds1-1 [81.5 kB] 777s Get:27 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-diff-match-patch all 20241021-1 [33.6 kB] 777s Get:28 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-enchant all 3.3.0-1 [35.0 kB] 777s Get:29 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-iniconfig all 2.1.0-2 [6962 B] 777s Get:30 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-rapidfuzz ppc64el 3.12.2+ds-1build1 [1467 kB] 777s Get:31 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-levenshtein ppc64el 0.27.1-2build1 [157 kB] 777s Get:32 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-lxml ppc64el 6.0.2-1 [2452 kB] 777s Get:33 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-mistletoe all 1.5.1-1 [41.7 kB] 777s Get:34 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-ply all 3.11-10 [45.9 kB] 777s Get:35 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-phply all 1.2.6-1build1 [50.6 kB] 777s Get:36 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pluggy all 1.6.0-2 [21.1 kB] 777s Get:37 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pytest all 9.0.2-2 [277 kB] 777s Get:38 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pytz all 2025.2-5 [32.4 kB] 777s Get:39 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-ruamel.yaml.clib ppc64el 0.2.15+ds-1 [230 kB] 777s Get:40 http://ftpmaster.internal/ubuntu resolute-proposed/universe ppc64el python3-ruamel.yaml all 0.18.10+ds-1build1 [127 kB] 777s Get:41 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-syrupy all 5.0.0-1 [47.9 kB] 777s Get:42 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-tomlkit all 0.13.3-2 [39.1 kB] 777s Get:43 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-translate all 3.18.1-1 [339 kB] 777s Get:44 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-unicode-segmentation-rs ppc64el 0.2.1-1 [293 kB] 777s Get:45 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-vobject all 0.9.9+dfsg-1 [41.5 kB] 777s Get:46 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-xapian ppc64el 1.4.29-1build1 [548 kB] 777s Get:47 http://ftpmaster.internal/ubuntu resolute/universe ppc64el subversion ppc64el 1.14.5-5 [942 kB] 777s Get:48 http://ftpmaster.internal/ubuntu resolute/universe ppc64el translate-toolkit all 3.18.1-1 [83.7 kB] 777s Get:49 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-iniparse all 0.5.1-2 [21.4 kB] 777s Get:50 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 778s Preconfiguring packages ... 778s Fetched 21.0 MB in 1s (14.3 MB/s) 778s Selecting previously unselected package libpython3.14-minimal:ppc64el. 779s (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 ... 120856 files and directories currently installed.) 779s Preparing to unpack .../00-libpython3.14-minimal_3.14.2-1_ppc64el.deb ... 779s Unpacking libpython3.14-minimal:ppc64el (3.14.2-1) ... 779s Selecting previously unselected package python3.14-minimal. 779s Preparing to unpack .../01-python3.14-minimal_3.14.2-1_ppc64el.deb ... 779s Unpacking python3.14-minimal (3.14.2-1) ... 779s Selecting previously unselected package emacsen-common. 779s Preparing to unpack .../02-emacsen-common_3.0.8_all.deb ... 779s Unpacking emacsen-common (3.0.8) ... 779s Selecting previously unselected package dictionaries-common. 779s Preparing to unpack .../03-dictionaries-common_1.31.3_all.deb ... 779s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 779s Unpacking dictionaries-common (1.31.3) ... 779s Selecting previously unselected package libgomp1:ppc64el. 779s Preparing to unpack .../04-libgomp1_15.2.0-12ubuntu1_ppc64el.deb ... 779s Unpacking libgomp1:ppc64el (15.2.0-12ubuntu1) ... 779s Selecting previously unselected package gettext. 779s Preparing to unpack .../05-gettext_0.23.2-1_ppc64el.deb ... 779s Unpacking gettext (0.23.2-1) ... 779s Selecting previously unselected package hunspell-en-us. 779s Preparing to unpack .../06-hunspell-en-us_1%3a2020.12.07-4build1_all.deb ... 779s Unpacking hunspell-en-us (1:2020.12.07-4build1) ... 779s Selecting previously unselected package libapr1t64:ppc64el. 779s Preparing to unpack .../07-libapr1t64_1.7.6-3_ppc64el.deb ... 779s Unpacking libapr1t64:ppc64el (1.7.6-3) ... 779s Selecting previously unselected package libaprutil1t64:ppc64el. 779s Preparing to unpack .../08-libaprutil1t64_1.6.3-3ubuntu3_ppc64el.deb ... 779s Unpacking libaprutil1t64:ppc64el (1.6.3-3ubuntu3) ... 779s Selecting previously unselected package libaspell15:ppc64el. 779s Preparing to unpack .../09-libaspell15_0.60.8.1-6_ppc64el.deb ... 779s Unpacking libaspell15:ppc64el (0.60.8.1-6) ... 779s Selecting previously unselected package libhunspell-1.7-0:ppc64el. 779s Preparing to unpack .../10-libhunspell-1.7-0_1.7.2+really1.7.2-11_ppc64el.deb ... 779s Unpacking libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-11) ... 779s Selecting previously unselected package libenchant-2-2:ppc64el. 779s Preparing to unpack .../11-libenchant-2-2_2.8.2+dfsg1-3build1_ppc64el.deb ... 779s Unpacking libenchant-2-2:ppc64el (2.8.2+dfsg1-3build1) ... 779s Selecting previously unselected package libexttextcat-data. 779s Preparing to unpack .../12-libexttextcat-data_3.4.7-1ubuntu2_all.deb ... 779s Unpacking libexttextcat-data (3.4.7-1ubuntu2) ... 779s Selecting previously unselected package libpython3.14-stdlib:ppc64el. 779s Preparing to unpack .../13-libpython3.14-stdlib_3.14.2-1_ppc64el.deb ... 779s Unpacking libpython3.14-stdlib:ppc64el (3.14.2-1) ... 779s Selecting previously unselected package libserf-1-1:ppc64el. 779s Preparing to unpack .../14-libserf-1-1_1.3.10-3ubuntu1_ppc64el.deb ... 779s Unpacking libserf-1-1:ppc64el (1.3.10-3ubuntu1) ... 780s Selecting previously unselected package libutf8proc3:ppc64el. 780s Preparing to unpack .../15-libutf8proc3_2.10.0-2_ppc64el.deb ... 780s Unpacking libutf8proc3:ppc64el (2.10.0-2) ... 780s Selecting previously unselected package libsvn1:ppc64el. 780s Preparing to unpack .../16-libsvn1_1.14.5-5_ppc64el.deb ... 780s Unpacking libsvn1:ppc64el (1.14.5-5) ... 780s Selecting previously unselected package libxapian30:ppc64el. 780s Preparing to unpack .../17-libxapian30_1.4.29-3_ppc64el.deb ... 780s Unpacking libxapian30:ppc64el (1.4.29-3) ... 780s Selecting previously unselected package libxslt1.1:ppc64el. 780s Preparing to unpack .../18-libxslt1.1_1.1.43-0.3_ppc64el.deb ... 780s Unpacking libxslt1.1:ppc64el (1.1.43-0.3) ... 780s Selecting previously unselected package python3-aeidon. 780s Preparing to unpack .../19-python3-aeidon_1.15-2build1_all.deb ... 780s Unpacking python3-aeidon (1.15-2build1) ... 780s Selecting previously unselected package python3.14. 780s Preparing to unpack .../20-python3.14_3.14.2-1_ppc64el.deb ... 780s Unpacking python3.14 (3.14.2-1) ... 780s Selecting previously unselected package python3-all. 780s Preparing to unpack .../21-python3-all_3.13.9-3_ppc64el.deb ... 780s Unpacking python3-all (3.13.9-3) ... 780s Selecting previously unselected package python3-soupsieve. 780s Preparing to unpack .../22-python3-soupsieve_2.8.3-1_all.deb ... 780s Unpacking python3-soupsieve (2.8.3-1) ... 780s Selecting previously unselected package python3-bs4. 780s Preparing to unpack .../23-python3-bs4_4.14.3-2build1_all.deb ... 780s Unpacking python3-bs4 (4.14.3-2build1) ... 780s Selecting previously unselected package python3-charset-normalizer. 780s Preparing to unpack .../24-python3-charset-normalizer_3.4.4-2_ppc64el.deb ... 780s Unpacking python3-charset-normalizer (3.4.4-2) ... 780s Selecting previously unselected package python3-cheroot. 780s Preparing to unpack .../25-python3-cheroot_11.1.2+ds1-1_all.deb ... 780s Unpacking python3-cheroot (11.1.2+ds1-1) ... 780s Selecting previously unselected package python3-diff-match-patch. 780s Preparing to unpack .../26-python3-diff-match-patch_20241021-1_all.deb ... 780s Unpacking python3-diff-match-patch (20241021-1) ... 780s Selecting previously unselected package python3-enchant. 780s Preparing to unpack .../27-python3-enchant_3.3.0-1_all.deb ... 780s Unpacking python3-enchant (3.3.0-1) ... 780s Selecting previously unselected package python3-iniconfig. 780s Preparing to unpack .../28-python3-iniconfig_2.1.0-2_all.deb ... 780s Unpacking python3-iniconfig (2.1.0-2) ... 780s Selecting previously unselected package python3-rapidfuzz. 780s Preparing to unpack .../29-python3-rapidfuzz_3.12.2+ds-1build1_ppc64el.deb ... 780s Unpacking python3-rapidfuzz (3.12.2+ds-1build1) ... 780s Selecting previously unselected package python3-levenshtein. 780s Preparing to unpack .../30-python3-levenshtein_0.27.1-2build1_ppc64el.deb ... 780s Unpacking python3-levenshtein (0.27.1-2build1) ... 780s Selecting previously unselected package python3-lxml:ppc64el. 780s Preparing to unpack .../31-python3-lxml_6.0.2-1_ppc64el.deb ... 780s Unpacking python3-lxml:ppc64el (6.0.2-1) ... 780s Selecting previously unselected package python3-mistletoe. 780s Preparing to unpack .../32-python3-mistletoe_1.5.1-1_all.deb ... 780s Unpacking python3-mistletoe (1.5.1-1) ... 780s Selecting previously unselected package python3-ply. 780s Preparing to unpack .../33-python3-ply_3.11-10_all.deb ... 780s Unpacking python3-ply (3.11-10) ... 780s Selecting previously unselected package python3-phply. 780s Preparing to unpack .../34-python3-phply_1.2.6-1build1_all.deb ... 780s Unpacking python3-phply (1.2.6-1build1) ... 780s Selecting previously unselected package python3-pluggy. 780s Preparing to unpack .../35-python3-pluggy_1.6.0-2_all.deb ... 780s Unpacking python3-pluggy (1.6.0-2) ... 780s Selecting previously unselected package python3-pytest. 780s Preparing to unpack .../36-python3-pytest_9.0.2-2_all.deb ... 780s Unpacking python3-pytest (9.0.2-2) ... 780s Selecting previously unselected package python3-pytz. 780s Preparing to unpack .../37-python3-pytz_2025.2-5_all.deb ... 780s Unpacking python3-pytz (2025.2-5) ... 780s Selecting previously unselected package python3-ruamel.yaml.clib. 780s Preparing to unpack .../38-python3-ruamel.yaml.clib_0.2.15+ds-1_ppc64el.deb ... 780s Unpacking python3-ruamel.yaml.clib (0.2.15+ds-1) ... 780s Selecting previously unselected package python3-ruamel.yaml. 780s Preparing to unpack .../39-python3-ruamel.yaml_0.18.10+ds-1build1_all.deb ... 780s Unpacking python3-ruamel.yaml (0.18.10+ds-1build1) ... 780s Selecting previously unselected package python3-syrupy. 780s Preparing to unpack .../40-python3-syrupy_5.0.0-1_all.deb ... 780s Unpacking python3-syrupy (5.0.0-1) ... 780s Selecting previously unselected package python3-tomlkit. 780s Preparing to unpack .../41-python3-tomlkit_0.13.3-2_all.deb ... 780s Unpacking python3-tomlkit (0.13.3-2) ... 780s Selecting previously unselected package python3-translate. 780s Preparing to unpack .../42-python3-translate_3.18.1-1_all.deb ... 780s Unpacking python3-translate (3.18.1-1) ... 780s Selecting previously unselected package python3-unicode-segmentation-rs. 780s Preparing to unpack .../43-python3-unicode-segmentation-rs_0.2.1-1_ppc64el.deb ... 780s Unpacking python3-unicode-segmentation-rs (0.2.1-1) ... 780s Selecting previously unselected package python3-vobject. 780s Preparing to unpack .../44-python3-vobject_0.9.9+dfsg-1_all.deb ... 780s Unpacking python3-vobject (0.9.9+dfsg-1) ... 780s Selecting previously unselected package python3-xapian. 780s Preparing to unpack .../45-python3-xapian_1.4.29-1build1_ppc64el.deb ... 780s Unpacking python3-xapian (1.4.29-1build1) ... 780s Selecting previously unselected package subversion. 780s Preparing to unpack .../46-subversion_1.14.5-5_ppc64el.deb ... 780s Unpacking subversion (1.14.5-5) ... 781s Selecting previously unselected package translate-toolkit. 781s Preparing to unpack .../47-translate-toolkit_3.18.1-1_all.deb ... 781s Unpacking translate-toolkit (3.18.1-1) ... 781s Selecting previously unselected package python3-iniparse. 781s Preparing to unpack .../48-python3-iniparse_0.5.1-2_all.deb ... 781s Unpacking python3-iniparse (0.5.1-2) ... 781s Selecting previously unselected package python3-pycountry. 781s Preparing to unpack .../49-python3-pycountry_24.6.1+ds1-1_all.deb ... 781s Unpacking python3-pycountry (24.6.1+ds1-1) ... 781s Setting up python3-iniconfig (2.1.0-2) ... 781s Setting up libxapian30:ppc64el (1.4.29-3) ... 781s Setting up python3-rapidfuzz (3.12.2+ds-1build1) ... 781s Setting up python3-diff-match-patch (20241021-1) ... 782s Setting up python3-aeidon (1.15-2build1) ... 782s Setting up libutf8proc3:ppc64el (2.10.0-2) ... 782s Setting up libaspell15:ppc64el (0.60.8.1-6) ... 782s Setting up python3-charset-normalizer (3.4.4-2) ... 782s Setting up python3-ply (3.11-10) ... 782s Setting up libpython3.14-minimal:ppc64el (3.14.2-1) ... 782s Setting up python3-ruamel.yaml.clib (0.2.15+ds-1) ... 782s Setting up python3-pytz (2025.2-5) ... 782s Setting up python3-unicode-segmentation-rs (0.2.1-1) ... 783s Setting up libgomp1:ppc64el (15.2.0-12ubuntu1) ... 783s Setting up emacsen-common (3.0.8) ... 783s Setting up python3-cheroot (11.1.2+ds1-1) ... 783s Setting up python3-pycountry (24.6.1+ds1-1) ... 783s Setting up python3-xapian (1.4.29-1build1) ... 783s Setting up python3-pluggy (1.6.0-2) ... 783s Setting up python3-ruamel.yaml (0.18.10+ds-1build1) ... 784s Setting up python3-mistletoe (1.5.1-1) ... 784s Setting up libexttextcat-data (3.4.7-1ubuntu2) ... 784s Setting up libapr1t64:ppc64el (1.7.6-3) ... 784s Setting up libxslt1.1:ppc64el (1.1.43-0.3) ... 784s Setting up python3-levenshtein (0.27.1-2build1) ... 784s Setting up libhunspell-1.7-0:ppc64el (1.7.2+really1.7.2-11) ... 784s Setting up python3-tomlkit (0.13.3-2) ... 784s Setting up python3-soupsieve (2.8.3-1) ... 785s Setting up python3.14-minimal (3.14.2-1) ... 785s Setting up python3-iniparse (0.5.1-2) ... 786s Setting up libaprutil1t64:ppc64el (1.6.3-3ubuntu3) ... 786s Setting up python3-vobject (0.9.9+dfsg-1) ... 786s Setting up gettext (0.23.2-1) ... 786s Setting up python3-phply (1.2.6-1build1) ... 786s Setting up dictionaries-common (1.31.3) ... 787s Setting up libpython3.14-stdlib:ppc64el (3.14.2-1) ... 787s Setting up python3-pytest (9.0.2-2) ... 787s Setting up python3-syrupy (5.0.0-1) ... 787s Setting up libserf-1-1:ppc64el (1.3.10-3ubuntu1) ... 787s Setting up python3-bs4 (4.14.3-2build1) ... 788s Setting up python3-lxml:ppc64el (6.0.2-1) ... 788s Setting up hunspell-en-us (1:2020.12.07-4build1) ... 788s Setting up python3.14 (3.14.2-1) ... 789s Setting up libsvn1:ppc64el (1.14.5-5) ... 789s Setting up libenchant-2-2:ppc64el (2.8.2+dfsg1-3build1) ... 789s Setting up subversion (1.14.5-5) ... 789s Setting up python3-all (3.13.9-3) ... 789s Setting up python3-enchant (3.3.0-1) ... 789s Setting up python3-translate (3.18.1-1) ... 790s Setting up translate-toolkit (3.18.1-1) ... 790s Processing triggers for libc-bin (2.42-2ubuntu4) ... 790s Processing triggers for systemd (259-1ubuntu2) ... 790s Processing triggers for man-db (2.13.1-1) ... 794s Processing triggers for install-info (7.2-5) ... 794s Processing triggers for dictionaries-common (1.31.3) ... 797s autopkgtest [06:22:28]: test python3-translate-commands: [----------------------- 798s ============================= test session starts ============================== 798s platform linux -- Python 3.14.2, pytest-9.0.2, pluggy-1.6.0 -- /usr/bin/python3.14 798s cachedir: .pytest_cache 798s rootdir: /tmp/autopkgtest.Lga1Rh/autopkgtest_tmp 798s plugins: syrupy-5.0.0, typeguard-4.4.4 805s collecting ... collected 3902 items / 2 skipped 805s 805s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 805s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 805s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 805s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 805s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 805s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 805s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 805s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 805s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 805s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 805s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 805s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 805s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 805s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 805s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 805s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 805s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 805s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 805s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 805s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 805s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 805s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 805s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 805s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 805s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 805s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 805s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 805s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 805s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 805s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 805s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 805s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_line_numbers_in_errors PASSED [ 0%] 805s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 805s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 805s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 0%] 805s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 0%] 805s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 0%] 805s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 0%] 805s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 0%] 805s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 805s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_line_numbers_in_errors PASSED [ 1%] 805s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 805s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 805s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 805s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 805s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 805s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 805s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 805s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 805s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 805s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 805s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 805s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 805s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 805s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 1%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 806s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 806s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 806s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 2%] 806s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 2%] 806s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 2%] 806s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 2%] 806s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 2%] 806s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 2%] 806s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 2%] 806s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 2%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 2%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 2%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 2%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 2%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 2%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 2%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 3%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_ignore_attribute PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_translate_comment_directives PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_social_media_tags PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_non_translatable_tags_not_extracted PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_mixed_translatable_and_non_translatable PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_comment_attribute PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_comment_without_keepcomments PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2PO::test_text_after_empty_tags PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 4%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_ignore_attribute PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_translate_comment_directives PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_social_media_tags PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_non_translatable_tags_not_extracted PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_mixed_translatable_and_non_translatable PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_comment_attribute PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_comment_without_keepcomments PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_text_after_empty_tags PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 806s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 5%] 806s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 5%] 806s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 5%] 806s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 5%] 806s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 5%] 806s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 5%] 806s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 5%] 806s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 5%] 806s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 5%] 806s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 5%] 806s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 5%] 806s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 5%] 806s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 5%] 806s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 5%] 806s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 806s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 806s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 806s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 806s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 806s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 806s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 806s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 806s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 806s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 806s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 806s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 806s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 806s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 806s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 806s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 806s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 806s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 806s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 806s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 6%] 806s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 6%] 806s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 6%] 806s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 6%] 806s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 6%] 806s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 6%] 806s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 6%] 806s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 6%] 806s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 6%] 806s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 6%] 806s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 6%] 806s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 6%] 806s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 6%] 806s tests/translate/convert/test_json2po.py::TestJson2PO::test_multiple_units PASSED [ 6%] 806s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 6%] 806s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 6%] 806s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 6%] 806s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_multiple_units PASSED [ 6%] 806s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 6%] 806s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 6%] 806s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 806s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 806s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 806s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 806s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_frontmatter PASSED [ 7%] 806s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_translation_ignore_sections PASSED [ 7%] 806s tests/translate/convert/test_moz2po.py::TestMoz2PO::test_duplicate_locations PASSED [ 7%] 806s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_duplicate_locations PASSED [ 7%] 806s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 806s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 806s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 806s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 806s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 806s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 806s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 806s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 806s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 806s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 806s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 7%] 806s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 7%] 806s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 7%] 806s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 7%] 806s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 7%] 806s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 7%] 806s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 7%] 806s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 7%] 806s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 7%] 806s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 7%] 806s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 7%] 806s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 7%] 806s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 7%] 806s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 7%] 806s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 7%] 806s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 7%] 806s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 7%] 806s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 7%] 806s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 7%] 806s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 7%] 806s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 7%] 806s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 806s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 806s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 806s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 806s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 806s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 806s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 806s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 806s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 806s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 806s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 806s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 806s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 806s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 8%] 806s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 8%] 806s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 8%] 806s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 8%] 806s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 8%] 806s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 8%] 806s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 8%] 806s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 8%] 806s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 806s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 8%] 806s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 806s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 806s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 806s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 806s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 806s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 806s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 8%] 806s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 806s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 8%] 806s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 806s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 806s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 8%] 806s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 8%] 806s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 8%] 806s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 8%] 806s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 8%] 806s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 9%] 806s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 9%] 806s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 9%] 806s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 9%] 806s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 9%] 806s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 9%] 806s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 9%] 806s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 9%] 806s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 9%] 806s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 9%] 806s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 9%] 806s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 806s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 806s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 10%] 806s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 10%] 806s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 10%] 806s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 10%] 806s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 10%] 806s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 10%] 806s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 10%] 806s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 10%] 806s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 10%] 806s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 10%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 11%] 806s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 11%] 806s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 11%] 806s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 11%] 806s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 11%] 806s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 11%] 806s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 11%] 806s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 11%] 806s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 11%] 806s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 11%] 806s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 11%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities_template_vs_po_mismatch PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_utf8_non_ascii_characters PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_custom_entities_preserved PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_auto_rtl PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_auto_ltr PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_added_when_missing PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_not_changed_without_lang_translation PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_button_translation PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_lang_attribute_only_on_html_tag PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_data_translate_ignore_preserved PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_translate_comment_directives_preserved PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_data_translate_ignore_with_translation_in_po PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_translate_comment_with_translation_in_po PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_meta_social_media_tags_translation PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2Html::test_meta_non_translatable_tags_preserved PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities_template_vs_po_mismatch PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_utf8_non_ascii_characters PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_custom_entities_preserved PASSED [ 12%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_auto_rtl PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_auto_ltr PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_added_when_missing PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_not_changed_without_lang_translation PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_button_translation PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_lang_attribute_only_on_html_tag PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_data_translate_ignore_preserved PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_translate_comment_directives_preserved PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_data_translate_ignore_with_translation_in_po PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_translate_comment_with_translation_in_po PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_meta_social_media_tags_translation PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_meta_non_translatable_tags_preserved PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 13%] 806s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 13%] 806s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 13%] 806s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 13%] 806s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 13%] 806s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 13%] 806s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 13%] 806s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 13%] 806s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 13%] 806s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 13%] 806s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 13%] 806s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 13%] 806s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 13%] 806s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 13%] 806s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 13%] 806s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 13%] 806s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 806s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 806s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 806s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 806s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 806s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 806s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 806s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 806s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 806s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 806s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 806s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 14%] 806s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 14%] 806s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 806s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 806s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 806s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 806s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 806s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 15%] 806s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 15%] 806s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 15%] 806s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 15%] 806s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 15%] 806s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 15%] 806s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 15%] 806s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 15%] 806s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 15%] 806s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 15%] 806s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 15%] 806s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_table XFAIL [ 15%] 806s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_frontmatter PASSED [ 15%] 806s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_translation_ignore_sections PASSED [ 15%] 806s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 15%] 806s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 15%] 806s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 15%] 806s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 15%] 806s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 15%] 806s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 15%] 806s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 15%] 806s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 15%] 806s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 15%] 806s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 15%] 806s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 15%] 806s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 15%] 806s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 15%] 806s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 15%] 806s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 15%] 806s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 15%] 806s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 15%] 806s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 15%] 806s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 15%] 806s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 15%] 806s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 806s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 806s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_help PASSED [ 16%] 806s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert PASSED [ 16%] 807s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert_with_multiple_units PASSED [ 16%] 807s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 807s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 16%] 807s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 16%] 807s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 16%] 807s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 16%] 807s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 16%] 807s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 16%] 807s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 16%] 807s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 16%] 807s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 16%] 807s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 16%] 807s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 16%] 807s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 16%] 807s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 16%] 807s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 16%] 807s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 16%] 807s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 16%] 807s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 16%] 807s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 16%] 807s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 16%] 807s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 16%] 807s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 16%] 807s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 16%] 807s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 16%] 807s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 16%] 807s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 16%] 807s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 16%] 807s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 16%] 807s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 16%] 807s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 16%] 807s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 16%] 807s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 16%] 807s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 16%] 807s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 16%] 807s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2Php::test_return_array_with_comments PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_return_array_with_comments PASSED [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 17%] 807s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 17%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 17%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 17%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 17%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 17%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 17%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 17%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_value_no_key PASSED [ 17%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 17%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 17%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 17%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 17%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_utf16_with_empty_lines PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_value_no_key PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 18%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 19%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 19%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 19%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_utf16_with_empty_lines PASSED [ 19%] 807s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 19%] 807s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 19%] 807s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 19%] 807s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 19%] 807s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 19%] 807s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 19%] 807s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 19%] 807s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 19%] 807s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 19%] 807s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 19%] 807s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 19%] 807s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 19%] 807s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 19%] 808s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 19%] 808s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes_strintable PASSED [ 19%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 19%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 19%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 19%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 19%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 19%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 19%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 19%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 19%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 19%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 19%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 19%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 19%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 19%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 19%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 19%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 19%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 19%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 19%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_plus_in_resourcekey PASSED [ 19%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_special_chars_in_resourcekey PASSED [ 19%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 20%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 20%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 20%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 20%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 20%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 20%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 20%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 20%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 20%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 20%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 20%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 20%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 20%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 20%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 20%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 20%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_plus_in_resourcekey PASSED [ 20%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_special_chars_in_resourcekey PASSED [ 20%] 808s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 20%] 808s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 20%] 808s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 20%] 808s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 20%] 808s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 20%] 808s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 20%] 808s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 20%] 808s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 20%] 808s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 20%] 808s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 20%] 808s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 20%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 20%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 20%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 20%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 20%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 20%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 20%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 20%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 20%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 21%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 21%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 21%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 21%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 21%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 21%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 21%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 21%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 21%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 21%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 21%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 21%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 21%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 21%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 21%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 21%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 21%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 21%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 21%] 808s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context PASSED [ 21%] 808s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_simple_convert PASSED [ 21%] 808s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_nested_convert PASSED [ 21%] 808s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_template_required PASSED [ 21%] 808s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_untranslated_uses_source PASSED [ 21%] 808s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 21%] 808s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 21%] 808s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 21%] 808s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 21%] 808s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 21%] 808s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 21%] 808s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 21%] 808s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 21%] 808s tests/translate/convert/test_po2ts.py::TestPO2TS::test_plural PASSED [ 21%] 808s tests/translate/convert/test_po2ts.py::TestPO2TS::test_plural_fuzzy PASSED [ 21%] 808s tests/translate/convert/test_po2ts.py::TestPO2TS::test_unit_without_location PASSED [ 21%] 808s tests/translate/convert/test_po2ts.py::TestPO2TS::test_mixed_units_with_and_without_location PASSED [ 21%] 808s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 21%] 808s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 21%] 808s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 21%] 808s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 22%] 808s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 22%] 808s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 22%] 808s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 22%] 808s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 22%] 808s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_plural PASSED [ 22%] 808s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_plural_fuzzy PASSED [ 22%] 808s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_unit_without_location PASSED [ 22%] 808s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_mixed_units_with_and_without_location PASSED [ 22%] 808s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_substring_replacement PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_duplicate_text_segment_based_replacement PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_dokuwiki_flavour_segmentation PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_substring_replacement PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_duplicate_text_segment_based_replacement PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_dokuwiki_flavour_segmentation PASSED [ 22%] 808s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 22%] 808s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 22%] 808s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 22%] 808s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 22%] 808s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 22%] 808s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 22%] 808s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 22%] 808s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 23%] 808s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 23%] 808s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 23%] 808s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 23%] 808s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 23%] 808s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 23%] 808s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 23%] 808s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 23%] 808s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 23%] 808s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 23%] 808s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 23%] 808s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 23%] 808s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 23%] 808s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 23%] 808s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 23%] 808s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 23%] 808s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 23%] 808s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 23%] 808s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 23%] 808s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 23%] 808s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 23%] 808s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 23%] 808s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 23%] 808s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 23%] 808s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 23%] 808s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 23%] 808s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 23%] 808s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 23%] 808s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 23%] 808s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 23%] 808s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 23%] 808s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 23%] 808s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 23%] 808s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 23%] 808s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 23%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 23%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 23%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 23%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 23%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overrides_old PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurrect_obsolete_messages PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurrect_obsolete_messages_into_msgidcomment PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 24%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overrides_old PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurrect_obsolete_messages PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurrect_obsolete_messages_into_msgidcomment PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 25%] 808s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 25%] 808s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 25%] 808s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 25%] 808s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 25%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 25%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 25%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 25%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 25%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_value_no_key_entry PASSED [ 25%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 25%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 25%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 25%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 25%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 25%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_locations_mozilla PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_strings_bilingual_simple PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2PO::test_strings_bilingual_multiline PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_value_no_key_entry PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_locations_mozilla PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 26%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 27%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_strings_bilingual_simple PASSED [ 27%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_strings_bilingual_multiline PASSED [ 27%] 808s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 27%] 808s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 27%] 808s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 27%] 808s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 27%] 808s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 27%] 808s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 27%] 808s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 27%] 808s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 27%] 808s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 27%] 808s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 27%] 808s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 27%] 808s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 27%] 808s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 27%] 808s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 27%] 808s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 27%] 808s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 27%] 808s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 27%] 808s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 27%] 808s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 27%] 808s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 27%] 808s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 27%] 808s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 27%] 808s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 27%] 808s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 27%] 808s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 27%] 808s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 27%] 808s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 27%] 808s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 27%] 808s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_simple_convert PASSED [ 27%] 808s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_nested_convert PASSED [ 27%] 808s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_comment_extraction PASSED [ 27%] 808s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_merge_with_template PASSED [ 27%] 808s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 27%] 808s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 27%] 808s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 27%] 808s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 27%] 808s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 28%] 808s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 28%] 808s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 28%] 808s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 28%] 808s tests/translate/convert/test_ts2po.py::TestTS2PO::test_plural PASSED [ 28%] 808s tests/translate/convert/test_ts2po.py::TestTS2PO::test_plural_unfinished PASSED [ 28%] 808s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 28%] 808s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 28%] 808s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 28%] 808s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 28%] 808s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 28%] 808s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 28%] 808s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 28%] 808s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 28%] 808s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_plural PASSED [ 28%] 808s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_plural_unfinished PASSED [ 28%] 808s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 28%] 808s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 29%] 808s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 29%] 808s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 29%] 808s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 29%] 808s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 29%] 808s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 29%] 808s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 29%] 808s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 29%] 808s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 29%] 808s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 29%] 808s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 29%] 808s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 29%] 808s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 29%] 808s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 29%] 808s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 29%] 808s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 29%] 808s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 29%] 808s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 29%] 808s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 29%] 808s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 29%] 809s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 29%] 809s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 29%] 809s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 29%] 809s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 29%] 809s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 29%] 809s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 29%] 809s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 29%] 809s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 29%] 809s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 29%] 809s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 29%] 809s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 29%] 809s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 29%] 809s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 29%] 809s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 29%] 809s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 29%] 809s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 29%] 809s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 29%] 809s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 29%] 809s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 29%] 809s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 30%] 809s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 30%] 809s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 30%] 809s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_comment_extraction PASSED [ 30%] 809s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_comment_extraction_nested PASSED [ 30%] 809s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 30%] 809s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 30%] 809s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 30%] 809s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 30%] 809s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 30%] 809s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 30%] 809s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_comment_extraction PASSED [ 30%] 809s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_comment_extraction_nested PASSED [ 30%] 809s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 30%] 809s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 30%] 809s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 30%] 809s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 30%] 809s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 30%] 809s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 30%] 809s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 30%] 809s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 30%] 809s tests/translate/filters/test_checks.py::test_defaults PASSED [ 30%] 809s tests/translate/filters/test_checks.py::test_construct PASSED [ 30%] 809s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 30%] 809s tests/translate/filters/test_checks.py::test_messages PASSED [ 30%] 809s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 30%] 809s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 30%] 809s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 30%] 809s tests/translate/filters/test_checks.py::test_blank PASSED [ 30%] 809s tests/translate/filters/test_checks.py::test_brackets PASSED [ 30%] 809s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 30%] 809s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 30%] 809s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 30%] 809s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 30%] 809s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 30%] 809s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 30%] 809s tests/translate/filters/test_checks.py::test_escapes PASSED [ 30%] 809s tests/translate/filters/test_checks.py::test_newlines PASSED [ 30%] 809s tests/translate/filters/test_checks.py::test_tabs PASSED [ 30%] 809s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_long PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 31%] 809s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_numbers PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_options PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_printf PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_short PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 31%] 809s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 31%] 809s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_validchars PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 31%] 809s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 31%] 809s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 32%] 809s tests/translate/filters/test_checks.py::test_functions PASSED [ 32%] 809s tests/translate/filters/test_checks.py::test_emails PASSED [ 32%] 809s tests/translate/filters/test_checks.py::test_urls PASSED [ 32%] 809s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 32%] 809s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 32%] 809s tests/translate/filters/test_checks.py::test_credits PASSED [ 32%] 809s tests/translate/filters/test_checks.py::test_gconf PASSED [ 32%] 809s tests/translate/filters/test_checks.py::test_validxml PASSED [ 32%] 809s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 32%] 809s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 32%] 809s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 32%] 809s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 32%] 809s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 32%] 809s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 32%] 809s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 32%] 809s tests/translate/filters/test_checks.py::test_category PASSED [ 32%] 809s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 32%] 809s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 32%] 809s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 32%] 809s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 32%] 809s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 32%] 809s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 32%] 809s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 32%] 809s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 32%] 809s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 32%] 809s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existent_check PASSED [ 32%] 809s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 32%] 809s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 32%] 809s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 32%] 809s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 32%] 809s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 32%] 809s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 32%] 809s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 32%] 809s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 32%] 809s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 32%] 809s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 32%] 809s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 32%] 809s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 32%] 809s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existent_check PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existent_check PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existent_check PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 33%] 809s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 34%] 809s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 34%] 809s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 34%] 809s tests/translate/lang/test_af.py::test_sentences PASSED [ 34%] 809s tests/translate/lang/test_af.py::test_capsstart PASSED [ 34%] 809s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 34%] 809s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 34%] 809s tests/translate/lang/test_am.py::test_sentences PASSED [ 34%] 809s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 34%] 809s tests/translate/lang/test_ar.py::test_sentences PASSED [ 34%] 809s tests/translate/lang/test_common.py::test_characters PASSED [ 34%] 809s tests/translate/lang/test_common.py::test_words PASSED [ 34%] 809s tests/translate/lang/test_common.py::test_word_khmer PASSED [ 34%] 809s tests/translate/lang/test_common.py::test_sentences PASSED [ 34%] 809s tests/translate/lang/test_common.py::test_capsstart PASSED [ 34%] 809s tests/translate/lang/test_common.py::test_numstart PASSED [ 34%] 809s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 34%] 809s tests/translate/lang/test_common.py::test_length_difference PASSED [ 34%] 809s tests/translate/lang/test_common.py::test_alter_length PASSED [ 34%] 809s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 34%] 809s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 34%] 809s tests/translate/lang/test_data.py::test_is_rtl PASSED [ 34%] 809s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 34%] 809s tests/translate/lang/test_el.py::test_sentences PASSED [ 34%] 809s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 34%] 809s tests/translate/lang/test_es.py::test_sentences PASSED [ 34%] 809s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 34%] 809s tests/translate/lang/test_fa.py::test_sentences PASSED [ 34%] 809s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 34%] 809s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 34%] 809s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 34%] 809s tests/translate/lang/test_fr.py::test_sentences PASSED [ 34%] 809s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 34%] 809s tests/translate/lang/test_hy.py::test_sentences PASSED [ 34%] 809s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 34%] 809s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 34%] 809s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 34%] 809s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 34%] 809s tests/translate/lang/test_ja.py::test_sentences PASSED [ 34%] 809s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 35%] 809s tests/translate/lang/test_km.py::test_sentences PASSED [ 35%] 809s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 35%] 809s tests/translate/lang/test_ko.py::test_sentences PASSED [ 35%] 809s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 35%] 809s tests/translate/lang/test_ne.py::test_sentences PASSED [ 35%] 809s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 35%] 809s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 35%] 809s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 35%] 809s tests/translate/lang/test_or.py::test_country_code PASSED [ 35%] 809s tests/translate/lang/test_or.py::test_sentences PASSED [ 35%] 809s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 35%] 809s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 35%] 809s tests/translate/lang/test_ro.py::test_niciun PASSED [ 35%] 809s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 35%] 809s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 35%] 809s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 35%] 809s tests/translate/lang/test_team.py::test_simple PASSED [ 35%] 809s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 35%] 809s tests/translate/lang/test_th.py::test_sentences PASSED [ 35%] 809s tests/translate/lang/test_tr.py::test_sentences PASSED [ 35%] 809s tests/translate/lang/test_uk.py::test_sentences PASSED [ 35%] 809s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 35%] 809s tests/translate/lang/test_vi.py::test_sentences PASSED [ 35%] 809s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 35%] 809s tests/translate/lang/test_zh.py::test_sentences PASSED [ 35%] 809s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 35%] 809s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 35%] 809s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 35%] 809s tests/translate/misc/test_dictutils.py::test_cidict_pop PASSED [ 35%] 809s tests/translate/misc/test_dictutils.py::test_cidict_getitem PASSED [ 35%] 809s tests/translate/misc/test_dictutils.py::test_cidict_setitem PASSED [ 35%] 809s tests/translate/misc/test_dictutils.py::test_cidict_delitem PASSED [ 35%] 809s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 35%] 809s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 35%] 809s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 35%] 809s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 35%] 809s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 35%] 809s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 35%] 809s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 36%] 809s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 36%] 809s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 36%] 809s tests/translate/misc/test_multistring.py::TestMultistring::test_bool PASSED [ 36%] 809s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 36%] 809s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 36%] 809s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 36%] 809s tests/translate/misc/test_quote.py::test_find_all PASSED [ 36%] 809s tests/translate/misc/test_quote.py::test_extract PASSED [ 36%] 809s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 36%] 809s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 36%] 809s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 36%] 809s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 36%] 809s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_iso_8859_1 PASSED [ 36%] 809s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_ascii PASSED [ 36%] 809s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_unicode_range PASSED [ 36%] 809s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 36%] 809s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 36%] 809s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 36%] 809s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 36%] 809s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 36%] 809s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 36%] 809s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 36%] 809s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 36%] 809s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 36%] 809s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 36%] 809s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 36%] 809s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 36%] 809s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 36%] 809s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 36%] 809s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 36%] 809s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 36%] 809s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 36%] 809s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 36%] 809s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 36%] 809s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 36%] 809s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 36%] 809s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 36%] 809s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 36%] 809s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 37%] 809s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 37%] 811s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 37%] 811s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 37%] 811s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 37%] 811s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 37%] 811s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 37%] 811s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 37%] 811s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 37%] 811s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 37%] 811s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 37%] 811s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 37%] 811s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 37%] 811s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 37%] 811s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 37%] 811s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 37%] 811s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 38%] 811s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 38%] 811s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 38%] 811s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 38%] 811s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 38%] 811s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 38%] 811s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 38%] 811s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 38%] 811s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 38%] 811s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 38%] 811s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 38%] 811s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_line_number_default PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 38%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 39%] 811s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 39%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 39%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 39%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 39%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 39%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 39%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 39%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_xml PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 40%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse_decimal_plurals PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_to_plurals PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_empty_missing_plural_tag PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_line_number_default PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escape_quote PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 41%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_isfuzzy PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_create PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_eq PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_escapes PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_difficult_escapes PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_note_sanity PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_line_number_default PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_target PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_rich_get PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_rich_set PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_escape_quote PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_create_blank PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_add PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_remove PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_find PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_parse PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_files PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_save PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_extensions PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_mimetypes PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_translate PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_markup PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_nonascii PASSED [ 42%] 812s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_quote_escape PASSED [ 42%] 812s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 42%] 812s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 42%] 812s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 42%] 812s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 42%] 812s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 42%] 812s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 812s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 812s tests/translate/storage/test_base.py::TestTranslationUnit::test_line_number_default PASSED [ 43%] 812s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 43%] 812s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 43%] 812s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 43%] 812s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 43%] 812s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 43%] 812s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 43%] 812s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 43%] 812s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 43%] 812s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 43%] 812s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 43%] 812s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 43%] 812s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 43%] 812s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 43%] 812s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 43%] 812s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_create_empty_bundle PASSED [ 43%] 812s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_create_bundle_from_nonexistent_file PASSED [ 43%] 812s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle PASSED [ 43%] 812s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save PASSED [ 43%] 812s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip PASSED [ 43%] 812s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle PASSED [ 43%] 812s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_update_file_in_bundle PASSED [ 43%] 812s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle PASSED [ 43%] 812s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_invalid_bundle_error PASSED [ 43%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 43%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 43%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 43%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 43%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 43%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_line_number_default PASSED [ 43%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 43%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 43%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 43%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 43%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 43%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 43%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 43%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 44%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 44%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 44%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 44%] 812s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_line_number_default PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 44%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 45%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 45%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 45%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 45%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 45%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding_save PASSED [ 45%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_id_target PASSED [ 45%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_context_target PASSED [ 45%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_key_translation PASSED [ 45%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_roundtrip PASSED [ 45%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_context_roundtrip PASSED [ 45%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_id_context_roundtrip PASSED [ 45%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_target_only_roundtrip PASSED [ 45%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_quote_nonnumeric_handling PASSED [ 45%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_quote_nonnumeric_with_single_quotes PASSED [ 45%] 812s tests/translate/storage/test_csvl10n.py::TestCSV::test_line_number PASSED [ 45%] 812s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 45%] 812s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 45%] 812s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 45%] 812s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 45%] 812s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 45%] 812s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 45%] 812s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 45%] 812s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 45%] 812s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 45%] 812s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 45%] 812s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 45%] 812s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 45%] 812s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 45%] 812s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 45%] 812s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 45%] 812s tests/translate/storage/test_dtd.py::TestDTDUnit::test_line_number_default PASSED [ 45%] 812s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 45%] 812s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 45%] 812s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 45%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 45%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 45%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_multiple_blank_lines PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_entity_with_extra_spaces PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestDTD::test_mixed_content_preservation PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 46%] 812s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 812s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 812s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 47%] 812s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 47%] 812s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 47%] 812s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 47%] 812s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 47%] 812s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 47%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 47%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 47%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 47%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 47%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_line_number_default PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 48%] 812s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 48%] 812s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 48%] 812s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 48%] 812s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 48%] 812s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 48%] 812s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 48%] 812s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 48%] 812s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 48%] 812s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 48%] 812s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 48%] 812s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 48%] 812s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 48%] 812s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_button PASSED [ 48%] 812s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_lang_attribute PASSED [ 48%] 812s tests/translate/storage/test_html.py::TestHTMLExtraction::test_dir_attribute_not_extracted PASSED [ 49%] 812s tests/translate/storage/test_html.py::TestHTMLExtraction::test_data_translate_ignore_attribute PASSED [ 49%] 812s tests/translate/storage/test_html.py::TestHTMLExtraction::test_translate_comment_directives PASSED [ 49%] 812s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_social_media_tags PASSED [ 49%] 812s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_non_translatable_tags PASSED [ 49%] 812s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_mixed_translatable_and_non_translatable PASSED [ 49%] 812s tests/translate/storage/test_html.py::TestHTMLExtraction::test_data_translate_comment_attribute PASSED [ 49%] 812s tests/translate/storage/test_html_context.py::test_html_context_basic PASSED [ 49%] 812s tests/translate/storage/test_html_context.py::test_html_context_attribute PASSED [ 49%] 812s tests/translate/storage/test_html_context.py::test_html_context_attribute_with_id PASSED [ 49%] 812s tests/translate/storage/test_html_context.py::test_html_context_same_source_different_contexts PASSED [ 49%] 812s tests/translate/storage/test_html_context.py::test_html_context_nested_outer_wins PASSED [ 49%] 812s tests/translate/storage/test_html_context.py::test_html_context_absent PASSED [ 49%] 812s tests/translate/storage/test_html_context.py::test_html_context_id_overridden_by_explicit PASSED [ 49%] 812s tests/translate/storage/test_html_context.py::test_html_context_id_not_used_when_no_duplicates PASSED [ 49%] 812s tests/translate/storage/test_html_context.py::test_html_context_id_not_used_when_data_translate_context_identical PASSED [ 49%] 812s tests/translate/storage/test_html_context.py::test_html_context_disambiguates_duplicates_with_id PASSED [ 49%] 812s tests/translate/storage/test_html_context.py::test_html_context_disambiguates_duplicates_with_ancestor_id PASSED [ 49%] 812s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 49%] 812s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 49%] 812s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 49%] 812s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 49%] 812s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 49%] 812s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 49%] 812s tests/translate/storage/test_ini.py::TestINIUnit::test_line_number_default PASSED [ 49%] 812s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 49%] 812s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 49%] 812s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 49%] 812s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 49%] 812s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 49%] 812s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 49%] 812s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 49%] 812s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 49%] 812s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 49%] 812s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 49%] 812s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 49%] 812s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 49%] 812s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 49%] 812s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 49%] 812s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 812s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 812s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_line_number_default PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 50%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_line_number_default PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_line_number_default PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 51%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_comments PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 52%] 812s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 53%] 812s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 54%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_invalid_nesting PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_empty_metadata_not_stored PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_invalid PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_isfuzzy PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_create PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_eq PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_escapes PASSED [ 55%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_difficult_escapes PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_note_sanity PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_line_number_default PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_target PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_rich_get PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_rich_set PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_source_property_maps_to_id PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_source_roundtrip PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_create_blank PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_remove PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_find PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_files PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_save PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_extensions PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_mimetypes PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_translate PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_markup PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_nonascii PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse_simple PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_serialize_simple PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse_with_plurals PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_preserve_plural_form PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_roundtrip_with_plurals PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_ignore_non_translations_keys PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_preserve_other_metadata PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add_unit PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add_plural_unit PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_empty_translations PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_create_blank PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_add PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_remove PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_find PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_parse PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_files PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_save PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_extensions PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_mimetypes PASSED [ 56%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_translate PASSED [ 57%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_markup PASSED [ 57%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_nonascii PASSED [ 57%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_roundtrip PASSED [ 57%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_basic_parsing PASSED [ 57%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_multiple_metadata PASSED [ 57%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_no_metadata PASSED [ 57%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_edit_target PASSED [ 57%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_edit_notes PASSED [ 57%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_keys_with_dots PASSED [ 57%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_leading_dot_keys PASSED [ 57%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_invalid_nesting PASSED [ 57%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_property_get_set PASSED [ 57%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_property_persists PASSED [ 57%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_getcontext_returns_id PASSED [ 57%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_parsing_preserves_order PASSED [ 57%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_metadata_without_translation PASSED [ 57%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_complex_keys_with_multiple_dots PASSED [ 57%] 812s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_empty_string PASSED [ 57%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 58%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 58%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 58%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 58%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 58%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 812s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 812s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 812s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 812s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 812s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 812s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_basic PASSED [ 58%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_with_markup PASSED [ 58%] 812s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_with_code_block PASSED [ 58%] 813s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_multiple_ignore_sections PASSED [ 58%] 813s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_at_start PASSED [ 58%] 813s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_at_end PASSED [ 58%] 813s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_nested_structures_in_ignore PASSED [ 58%] 813s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_link_references_in_ignore PASSED [ 58%] 813s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 813s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 813s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 813s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 813s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 813s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 813s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 813s tests/translate/storage/test_mo.py::TestMOUnit::test_line_number_default PASSED [ 58%] 813s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 813s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 813s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 813s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 813s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 813s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 813s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 59%] 813s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 59%] 813s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 59%] 813s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 59%] 813s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 59%] 813s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 59%] 813s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 59%] 813s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 59%] 813s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 813s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 813s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 813s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 59%] 813s tests/translate/storage/test_mo.py::TestMOFile::test_endian_version_parsing PASSED [ 59%] 813s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 813s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 813s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 813s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 813s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 813s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 813s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_line_number_default PASSED [ 59%] 813s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 813s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 813s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 813s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 813s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 813s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 813s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 813s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 813s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 813s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 813s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 813s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 813s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 813s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 813s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 813s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 813s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 813s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 813s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 813s 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%] 813s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_line_number_default PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 813s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_line_number PASSED [ 61%] 813s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_isfuzzy PASSED [ 61%] 813s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_create PASSED [ 61%] 813s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_eq PASSED [ 61%] 813s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_target PASSED [ 61%] 813s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_escapes PASSED [ 61%] 813s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_difficult_escapes PASSED [ 61%] 813s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_note_sanity PASSED [ 61%] 813s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_line_number_default PASSED [ 61%] 813s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_rich_get PASSED [ 61%] 813s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_rich_set PASSED [ 61%] 813s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_create_blank PASSED [ 61%] 813s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_add PASSED [ 61%] 813s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_remove PASSED [ 61%] 813s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_find PASSED [ 61%] 813s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_translate PASSED [ 61%] 813s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_parse PASSED [ 61%] 813s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_files PASSED [ 61%] 813s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_save PASSED [ 61%] 813s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_markup PASSED [ 61%] 813s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_nonascii PASSED [ 61%] 813s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_mimetypes PASSED [ 61%] 813s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_extensions XFAIL [ 61%] 813s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 813s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 813s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 813s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 813s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 813s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 813s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 813s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 813s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 813s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpUnit::test_line_number_default PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 62%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 63%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_with_spaces PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_with_comments PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_line_number_default PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping_array_syntax PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping_numeric_keys PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_roundtrip_short_array PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_roundtrip_array_syntax PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_preserves_structure PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_with_array_syntax PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_addunit_with_setid PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_unit_to_short_array_file PASSED [ 64%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_unit_to_array_function_file PASSED [ 65%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_multiple_units_to_short_array PASSED [ 65%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_multiple_units_to_array_function PASSED [ 65%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_numeric_keys_no_quotes PASSED [ 65%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_empty_string_key PASSED [ 65%] 813s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_with_non_string_value PASSED [ 65%] 813s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOUnit::test_line_number_default PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 813s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_invalid_keyword PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 66%] 813s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 813s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 813s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_spaces PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_fit PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_overflow PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_multiline PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_escapes PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_wrap_escape_line PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_wrap_wide_stop PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_wrap_escape PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_c_style_comment_error_reporting PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_unusual_line_endings PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_charset_with_space PASSED [ 67%] 814s tests/translate/storage/test_po.py::TestPOFile::test_duplicate_msgid_error PASSED [ 67%] 814s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 814s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 814s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 814s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 814s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 814s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 814s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 814s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 814s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 814s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 814s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 814s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_line_number_default PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 68%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_marktranslatable PASSED [ 69%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_groups_when_adding_units PASSED [ 69%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_multiple_files_and_groups PASSED [ 69%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_unit_to_existing_group PASSED [ 69%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_unit_to_different_file PASSED [ 69%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mixed_groups_and_body PASSED [ 69%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addunit_with_new_false PASSED [ 69%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace_preservation_across_versions PASSED [ 69%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_units_between_different_files PASSED [ 69%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_group_preservation_across_different_namespaces PASSED [ 69%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_cross_namespace_group_and_file_preservation PASSED [ 69%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 814s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 815s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 815s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 815s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 815s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 815s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 815s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 815s tests/translate/storage/test_properties.py::test_find_delimiter_pos_empty_and_whitespace PASSED [ 69%] 815s tests/translate/storage/test_properties.py::test_find_delimiter_pos_tabs PASSED [ 69%] 815s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 815s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 815s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 815s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 815s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 815s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 815s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestPropUnit::test_line_number_default PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 815s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_tab_delimiter_parsing PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comments PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comments_nested PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comment_with_spaces PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_before_entry PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_between_key_and_equals PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_between_equals_and_value PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_after_value_before_semicolon PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multiple_inline_comments PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_nested_comment PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_inside_value PASSED [ 71%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_trailing_whitespace_after_semicolon PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestProp::test_utf16_bom_no_warning PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 815s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 815s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 815s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 815s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 815s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_line_number_default PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_with_blank_lines PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 74%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid_keyword PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 75%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_spaces PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_fit PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_overflow PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_multiline PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_escapes PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_escape_line PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_wide_stop PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_escape PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_c_style_comment_error_reporting PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unusual_line_endings PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_charset_with_space PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_duplicate_msgid_error PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_future_flags PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 815s tests/translate/storage/test_pypo.py::TestPYPOFile::test_line_number PASSED [ 77%] 815s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 815s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 815s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 815s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 815s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 815s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 815s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 815s tests/translate/storage/test_qm.py::TestQtUnit::test_line_number_default PASSED [ 77%] 815s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 815s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 815s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 815s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 815s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 815s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 815s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 815s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 815s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 815s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 815s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 815s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 815s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 815s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 815s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 77%] 815s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 77%] 815s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphUnit::test_line_number_default PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 815s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 815s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 815s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 815s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 815s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 815s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 815s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 815s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 815s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 816s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 78%] 816s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 78%] 816s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 78%] 816s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 78%] 816s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 78%] 816s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 78%] 816s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 78%] 816s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 816s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 816s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 816s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 816s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 816s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 816s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 816s tests/translate/storage/test_rc.py::TestRcFile::test_utf16_pragma_code_page PASSED [ 79%] 816s tests/translate/storage/test_rc.py::TestRcFile::test_utf8_pragma_code_page PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_line_number_default PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 79%] 816s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 79%] 816s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 79%] 816s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 79%] 816s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 79%] 816s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 79%] 816s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 79%] 816s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 79%] 816s tests/translate/storage/test_resx.py::TestRESXUnit::test_line_number_default PASSED [ 79%] 816s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_line_number_default PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 80%] 816s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 80%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 80%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 80%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 80%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 80%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 80%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 80%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_line_number_default PASSED [ 80%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 80%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 80%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 80%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 80%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 80%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 816s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 816s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 81%] 816s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 81%] 816s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 81%] 816s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 81%] 816s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 81%] 816s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 81%] 816s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 81%] 816s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 81%] 816s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 81%] 816s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 81%] 816s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 81%] 816s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 81%] 816s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_ordering PASSED [ 81%] 816s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create_blank PASSED [ 81%] 816s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_add PASSED [ 81%] 816s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_remove PASSED [ 81%] 816s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_find PASSED [ 81%] 816s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_parse PASSED [ 81%] 816s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_files PASSED [ 81%] 816s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_save PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_extensions PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_mimetypes PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_translate PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_markup PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_nonascii PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_ordering PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 816s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_ordering PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_ordering PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_style_preservation PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 82%] 816s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 816s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 816s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 816s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 816s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 816s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 816s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 816s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 816s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_ordering PASSED [ 83%] 816s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_style_preservation PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXUnit::test_line_number_default PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 83%] 816s tests/translate/storage/test_tbx.py::TestTBXfile::test_administrative_status_and_translation_needed PASSED [ 84%] 816s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 816s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 816s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 816s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 816s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 816s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXUnit::test_line_number_default PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_line_number_default PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_context PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 84%] 816s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 816s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 816s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 816s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 816s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 816s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 816s tests/translate/storage/test_tmx.py::TestTMXfile::test_context PASSED [ 85%] 816s tests/translate/storage/test_tmx.py::TestTMXfile::test_note_order PASSED [ 85%] 816s tests/translate/storage/test_tmx.py::TestTMXfile::test_prop_and_note_order PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_isfuzzy PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_create PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_eq PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_escapes PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_difficult_escapes PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_note_sanity PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_line_number_default PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_target PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_rich_get PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_rich_set PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_getlocations PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_create_blank PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_add PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_find PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_parse PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_files PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_save PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_extensions PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_mimetypes PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_translate PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_markup PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_nonascii PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_serialize PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_empty PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_edit PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_edit_unicode PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_parse_unicode_list PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_ordering PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_nested PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline PASSED [ 85%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_boolean PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_integer PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_no_quote_strings PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_double_quote_strings PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_single_quote_strings PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_escaped_double_quotes PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_newlines PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_list PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_inline_table PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_key_nesting PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_add_to_empty PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_dict_in_list PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_remove PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_special PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_extraction_simple PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_extraction_multiline PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_no_comment_backwards_compat PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_simple PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_multiline PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_nested PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_with_modification PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_literal_string PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline_basic_string PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline_literal_string PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_create_blank PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_add PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_remove PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_find PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_parse PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_files PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_save PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_extensions PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_mimetypes PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_translate PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_markup PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_nonascii PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_simple_plural PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_plural_with_other_keys PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_full_plural_forms PASSED [ 86%] 816s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_roundtrip_plural PASSED [ 87%] 816s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_mixed_content PASSED [ 87%] 816s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_letsencrypt_style PASSED [ 87%] 816s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_comment_preservation_goi18n PASSED [ 87%] 816s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_comment_preservation_goi18n_plural PASSED [ 87%] 816s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 816s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 816s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSUnit::test_line_number_default PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 87%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 816s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtUnit::test_line_number_default PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 88%] 816s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 88%] 816s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 88%] 816s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 88%] 816s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 88%] 816s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 88%] 816s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 88%] 816s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 88%] 816s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 816s tests/translate/storage/test_utx.py::TestUtxUnit::test_line_number_default PASSED [ 89%] 816s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 816s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 816s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 816s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 816s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 816s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 816s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 816s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 816s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 816s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 816s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 816s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 816s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 816s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFUnit::test_line_number_default PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 816s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 816s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 816s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 816s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_line_number_default PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_marktranslatable PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_groups_when_adding_units PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_multiple_files_and_groups PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_unit_to_existing_group PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_unit_to_different_file PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mixed_groups_and_body PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addunit_with_new_false PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace_preservation_across_versions PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_units_between_different_files PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_group_preservation_across_different_namespaces PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_cross_namespace_group_and_file_preservation PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 91%] 816s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 91%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 91%] 818s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 91%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_isfuzzy PASSED [ 91%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_create PASSED [ 91%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_eq PASSED [ 91%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_target PASSED [ 91%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_escapes PASSED [ 91%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_difficult_escapes PASSED [ 91%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_note_sanity PASSED [ 91%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_line_number_default PASSED [ 91%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_rich_get PASSED [ 91%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_rich_set PASSED [ 91%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_notes PASSED [ 91%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_id_management PASSED [ 91%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_marktranslatable PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_create_blank PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_add PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_remove PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_find PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_translate PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_files PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_save PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_markup PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_nonascii PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_extensions PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_mimetypes PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_basic PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_source_target PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_language_attributes PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_namespace PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_unit_structure PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_multiple_units PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse_xliff2 PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse_translate_attribute PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_multiple_segments_per_unit PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_mixed_single_and_multiple_segments PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_segments_without_ids PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_escaped_inline_tags PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_simple_source_target_pairs PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_malformed_xml_declaration PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_variable_placeholders PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_add_unit PASSED [ 92%] 818s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_states PASSED [ 92%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_line_number_default PASSED [ 92%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_simple PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_multiline PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_nested PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_mixed PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_comment_backwards_compat PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline_literal_format PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_blank PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_partial PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_pt_br PASSED [ 94%] 818s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_bug_ruby_remove_zero_few_and_mix_others PASSED [ 94%] 818s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 818s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 818s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 818s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 95%] 818s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 95%] 818s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 95%] 818s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 95%] 818s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 95%] 818s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 95%] 818s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 95%] 818s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 95%] 818s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 95%] 818s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 95%] 818s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 95%] 818s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 95%] 818s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 95%] 819s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 95%] 819s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 95%] 819s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 819s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 819s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 819s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 819s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 819s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 819s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 819s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 819s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 819s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 819s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 819s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 819s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 819s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 819s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 819s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 819s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 819s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 819s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 819s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 819s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 819s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 819s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 819s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 819s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::test_csv_line_terminator PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_fuzzy_with_target PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_fuzzy_without_target PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_translated_not_fuzzy PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_untranslated_empty_target PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_categorization_mutually_exclusive PASSED [ 96%] 819s tests/translate/tools/test_pocount.py::TestPOCountLineEndings::test_unusual_line_endings PASSED [ 96%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank_clears_fuzzy PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank_with_plurals PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 819s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 819s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 819s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 819s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 819s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 819s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 819s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 819s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 819s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 819s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 819s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 819s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 819s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 819s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 819s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 819s tests/translate/tools/test_posegment.py::TestPOSegment::test_transifex_po PASSED [ 98%] 819s tests/translate/tools/test_posegment.py::TestXLIFFSegment::test_xliff_en_simple PASSED [ 98%] 819s tests/translate/tools/test_posegment.py::TestXLIFFSegment::test_xliff_untranslated PASSED [ 98%] 819s tests/translate/tools/test_posegment.py::TestTMXSegment::test_tmx_en_simple PASSED [ 98%] 820s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 820s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_unitinfo_stores_minimal_data PASSED [ 98%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overrides_old PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurrect_obsolete_messages PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overrides_old PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurrect_obsolete_messages PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 820s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 820s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 820s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 820s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 820s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 820s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 820s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 821s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 821s 821s =============================== warnings summary =============================== 821s ../../../usr/lib/python3/dist-packages/pyparsing/core.py:5637 821s Warning: 'return' in a 'finally' block 821s 821s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 821s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.Lga1Rh/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 821s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 821s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 821s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 821s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 821s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 821s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 821s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 821s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 821s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 821s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 821s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 821s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 821s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 821s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 821s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 821s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 821s Warning: Could not find accesskey for key.accesskey 821s 821s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 821s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 821s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 821s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 821s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 821s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.Lga1Rh/autopkgtest_tmp/tests/translate/convert/test.idml'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 821s Warning: unclosed file <_io.BufferedReader name='translation.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert 821s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert_with_multiple_units 821s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 821s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.Lga1Rh/autopkgtest_tmp/tests/translate/convert/test.odt'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 821s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 821s Warning: Could not find accesskey for prop.accesskey 821s 821s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert 821s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert 821s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context 821s Warning: unclosed file <_io.BufferedReader name='test.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context 821s Warning: unclosed file <_io.TextIOWrapper name='TestPO2TMXCommand_test_context/test.tmx' mode='r' encoding='UTF-8'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 821s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 821s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 821s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 821s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 821s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 821s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 821s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 821s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 821s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 821s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 821s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 821s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 821s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 821s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 821s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 821s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 821s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 821s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 821s 821s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle 821s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle 821s Warning: unclosed file <_io.BufferedReader name='/tmp/tmprx29q4t5_test.txt'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save 821s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save 821s Warning: unclosed file <_io.BufferedReader name='/tmp/tmptkrv8ktg_crossdevice.txt'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip 821s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip 821s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp4ysmn1c9_initial.txt'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 821s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 821s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp27ewh86f_load_test.txt'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 821s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 821s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpts85b8za_load_test.txt'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 821s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 821s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp0p_mqpug_file0.txt'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 821s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 821s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpf_5w95xk_file1.txt'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 821s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 821s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpp5ptoeh3_file2.txt'> 821s Enable tracemalloc to get traceback where the object was allocated. 821s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 821s 821s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 821s Warning: DTD parse error: :1:35:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 821s :1:35:FATAL:PARSER:ERR_EXT_SUBSET_NOT_FINISHED: Content error in the external subset 821s 821s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 821s Warning: DTD file '' does not validate 821s 821s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 821s --------------------------- snapshot report summary ---------------------------- 821s 23 snapshots passed. 821s =========================== short test summary info ============================ 821s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 821s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 821s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 821s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 821s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 821s XFAIL tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_table - https://github.com/miyuchina/mistletoe/issues/244 821s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 821s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 821s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 821s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 821s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 821s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 821s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 821s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 821s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 821s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 821s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 821s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 821s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 821s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 821s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 821s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 821s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 821s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 821s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 821s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 821s 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 821s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 821s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 821s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 821s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 821s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 821s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 821s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 821s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 821s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 821s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 821s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 821s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 821s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 821s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 821s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 821s ========== 3862 passed, 3 skipped, 39 xfailed, 70 warnings in 22.81s =========== 822s ============================= test session starts ============================== 822s platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0 -- /usr/bin/python3.13 822s cachedir: .pytest_cache 822s rootdir: /tmp/autopkgtest.Lga1Rh/autopkgtest_tmp 822s plugins: syrupy-5.0.0, typeguard-4.4.4 828s collecting ... collected 3902 items / 2 skipped 828s 828s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 828s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 828s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 828s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 828s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 828s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 828s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 828s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 828s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 828s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 828s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 828s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 828s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 828s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 828s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 828s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 828s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 828s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 828s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 828s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 828s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 828s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 828s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 828s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 828s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 828s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 828s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 828s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 828s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 828s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 828s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 828s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_line_numbers_in_errors PASSED [ 0%] 828s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 828s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 828s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 0%] 828s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 0%] 828s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 0%] 828s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 0%] 828s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 0%] 828s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 828s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_line_numbers_in_errors PASSED [ 1%] 828s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 828s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 1%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 828s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 828s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 828s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 2%] 828s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 2%] 828s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 2%] 828s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 2%] 828s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 2%] 828s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 2%] 828s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 2%] 828s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 2%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 2%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 2%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 2%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 2%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 2%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 2%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 3%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_ignore_attribute PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_translate_comment_directives PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_social_media_tags PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_non_translatable_tags_not_extracted PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta_mixed_translatable_and_non_translatable PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_comment_attribute PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_data_translate_comment_without_keepcomments PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2PO::test_text_after_empty_tags PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 4%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_ignore_attribute PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_translate_comment_directives PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_social_media_tags PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_non_translatable_tags_not_extracted PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta_mixed_translatable_and_non_translatable PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_comment_attribute PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_data_translate_comment_without_keepcomments PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_text_after_empty_tags PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 828s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 5%] 828s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 5%] 828s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 5%] 828s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 5%] 828s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 5%] 828s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 5%] 828s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 5%] 828s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 5%] 828s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 5%] 828s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 5%] 828s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 5%] 828s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 5%] 828s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 5%] 828s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 5%] 828s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 828s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 828s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 828s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 828s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 828s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 828s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 828s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 828s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 828s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 828s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 828s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 828s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 828s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 828s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 828s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 828s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 828s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 828s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 828s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 6%] 828s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 6%] 828s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 6%] 828s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 6%] 828s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 6%] 828s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 6%] 828s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 6%] 828s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 6%] 828s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 6%] 828s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 6%] 828s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 6%] 828s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 6%] 828s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 6%] 828s tests/translate/convert/test_json2po.py::TestJson2PO::test_multiple_units PASSED [ 6%] 828s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 6%] 828s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 6%] 828s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 6%] 828s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_multiple_units PASSED [ 6%] 828s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 6%] 828s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 6%] 828s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 828s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 828s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 828s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 828s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_frontmatter PASSED [ 7%] 828s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_translation_ignore_sections PASSED [ 7%] 828s tests/translate/convert/test_moz2po.py::TestMoz2PO::test_duplicate_locations PASSED [ 7%] 828s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_duplicate_locations PASSED [ 7%] 828s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 828s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 828s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 828s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 828s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 828s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 828s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 828s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 828s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 828s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 828s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 7%] 828s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 7%] 828s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 7%] 828s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 7%] 828s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 7%] 828s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 7%] 828s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 7%] 828s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 7%] 828s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 7%] 828s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 7%] 828s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 7%] 828s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 7%] 828s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 7%] 828s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 7%] 828s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 7%] 828s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 7%] 828s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 7%] 828s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 7%] 828s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 7%] 828s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 7%] 828s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 7%] 828s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 828s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 828s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 828s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 828s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 828s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 828s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 828s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 828s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 828s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 828s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 828s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 828s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 828s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 8%] 828s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 8%] 828s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 8%] 828s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 8%] 828s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 8%] 828s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 8%] 828s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 8%] 828s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 8%] 828s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 828s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 8%] 828s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 828s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 828s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 828s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 828s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 828s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 828s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 8%] 828s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 828s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 8%] 828s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 828s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 828s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 8%] 828s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 8%] 828s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 8%] 828s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 8%] 828s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 8%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 9%] 829s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 9%] 829s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 9%] 829s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 9%] 829s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 9%] 829s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 9%] 829s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 9%] 829s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 9%] 829s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 9%] 829s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 9%] 829s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 9%] 829s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 829s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 829s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 10%] 829s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 10%] 829s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 10%] 829s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 10%] 829s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 10%] 829s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 10%] 829s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 10%] 829s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 10%] 829s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 10%] 829s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 10%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 11%] 829s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 11%] 829s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 11%] 829s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 11%] 829s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 11%] 829s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 11%] 829s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 11%] 829s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 11%] 829s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 11%] 829s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 11%] 829s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 11%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities_template_vs_po_mismatch PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_utf8_non_ascii_characters PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_custom_entities_preserved PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_auto_rtl PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_auto_ltr PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_added_when_missing PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_dir_attribute_not_changed_without_lang_translation PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_button_translation PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_lang_attribute_only_on_html_tag PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_data_translate_ignore_preserved PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_translate_comment_directives_preserved PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_data_translate_ignore_with_translation_in_po PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_translate_comment_with_translation_in_po PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_meta_social_media_tags_translation PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2Html::test_meta_non_translatable_tags_preserved PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities_template_vs_po_mismatch PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_utf8_non_ascii_characters PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_custom_entities_preserved PASSED [ 12%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_auto_rtl PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_auto_ltr PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_added_when_missing PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_dir_attribute_not_changed_without_lang_translation PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_button_translation PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_lang_attribute_only_on_html_tag PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_data_translate_ignore_preserved PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_translate_comment_directives_preserved PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_data_translate_ignore_with_translation_in_po PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_translate_comment_with_translation_in_po PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_meta_social_media_tags_translation PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_meta_non_translatable_tags_preserved PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 13%] 829s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 13%] 829s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 13%] 829s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 13%] 829s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 13%] 829s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 13%] 829s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 13%] 829s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 13%] 829s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 13%] 829s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 13%] 829s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 13%] 829s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 13%] 829s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 13%] 829s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 13%] 829s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 13%] 829s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 13%] 829s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 829s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 829s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 829s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 829s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 829s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 829s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 829s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 829s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 829s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 829s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 829s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 14%] 829s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 14%] 829s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 829s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 829s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 829s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 829s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 829s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 15%] 829s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 15%] 829s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 15%] 829s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 15%] 829s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 15%] 829s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 15%] 829s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 15%] 829s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 15%] 829s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 15%] 829s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 15%] 829s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 15%] 829s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_table XFAIL [ 15%] 829s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_frontmatter PASSED [ 15%] 829s tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_translation_ignore_sections PASSED [ 15%] 829s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 15%] 829s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 15%] 829s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 15%] 829s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 15%] 829s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 15%] 829s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 15%] 829s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 15%] 829s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 15%] 829s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 15%] 829s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 15%] 829s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 15%] 829s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 15%] 829s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 15%] 829s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 15%] 829s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 15%] 829s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 15%] 829s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 15%] 829s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 15%] 829s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 15%] 829s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 15%] 829s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 829s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 829s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_help PASSED [ 16%] 829s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert PASSED [ 16%] 829s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert_with_multiple_units PASSED [ 16%] 829s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 829s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 16%] 829s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 16%] 829s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 16%] 829s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 16%] 829s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 16%] 829s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 16%] 829s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 16%] 829s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 16%] 829s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 16%] 829s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 16%] 829s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 16%] 829s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 16%] 829s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 16%] 829s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 16%] 829s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 16%] 829s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 16%] 829s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 16%] 829s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 16%] 829s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 16%] 829s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 16%] 829s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 16%] 829s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 16%] 829s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 16%] 829s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 16%] 829s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 16%] 829s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 16%] 829s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 16%] 829s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 16%] 829s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 16%] 829s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 16%] 829s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 16%] 829s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 16%] 829s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 16%] 829s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 829s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 17%] 829s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 17%] 829s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 17%] 829s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 17%] 829s tests/translate/convert/test_po2php.py::TestPO2Php::test_return_array_with_comments PASSED [ 17%] 829s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 17%] 829s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 17%] 829s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 17%] 829s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 17%] 829s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 17%] 829s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 17%] 829s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 17%] 829s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 17%] 829s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 17%] 829s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 17%] 829s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 17%] 829s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 17%] 829s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 17%] 829s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 17%] 829s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 17%] 829s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 17%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 17%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 17%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 17%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_return_array_with_comments PASSED [ 17%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 17%] 830s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 17%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 17%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 17%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 17%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 17%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 17%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 17%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_value_no_key PASSED [ 17%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 17%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 17%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 17%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 17%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_utf16_with_empty_lines PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_value_no_key PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 18%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_utf16_with_empty_lines PASSED [ 19%] 830s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 19%] 830s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 19%] 830s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 19%] 830s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 19%] 830s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 19%] 830s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 19%] 830s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 19%] 830s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 19%] 830s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 19%] 830s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 19%] 830s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 19%] 830s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 19%] 830s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 19%] 830s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 19%] 830s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes_strintable PASSED [ 19%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 19%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 19%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 19%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 19%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 19%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 19%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 19%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 19%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 19%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 19%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 19%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 19%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 19%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 19%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 19%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 19%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 19%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 19%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_plus_in_resourcekey PASSED [ 19%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_special_chars_in_resourcekey PASSED [ 19%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 20%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 20%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 20%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 20%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 20%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 20%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 20%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 20%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 20%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 20%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 20%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 20%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 20%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 20%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 20%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 20%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_plus_in_resourcekey PASSED [ 20%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_special_chars_in_resourcekey PASSED [ 20%] 830s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 20%] 830s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 20%] 830s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 20%] 830s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 20%] 830s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 20%] 830s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 20%] 830s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 20%] 830s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 20%] 830s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 20%] 830s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 20%] 830s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 20%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 20%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 20%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 20%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 20%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 20%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 20%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 20%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 20%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 21%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 21%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 21%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 21%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 21%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 21%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 21%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 21%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 21%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 21%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 21%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 21%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 21%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 21%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 21%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 21%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 21%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 21%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 21%] 830s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context PASSED [ 21%] 830s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_simple_convert PASSED [ 21%] 830s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_nested_convert PASSED [ 21%] 830s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_template_required PASSED [ 21%] 830s tests/translate/convert/test_po2toml.py::TestPO2TOML::test_untranslated_uses_source PASSED [ 21%] 830s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 21%] 830s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 21%] 830s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 21%] 830s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 21%] 830s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 21%] 830s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 21%] 830s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 21%] 830s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 21%] 830s tests/translate/convert/test_po2ts.py::TestPO2TS::test_plural PASSED [ 21%] 830s tests/translate/convert/test_po2ts.py::TestPO2TS::test_plural_fuzzy PASSED [ 21%] 830s tests/translate/convert/test_po2ts.py::TestPO2TS::test_unit_without_location PASSED [ 21%] 830s tests/translate/convert/test_po2ts.py::TestPO2TS::test_mixed_units_with_and_without_location PASSED [ 21%] 830s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 21%] 830s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 21%] 830s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 21%] 830s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 22%] 830s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 22%] 830s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 22%] 830s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 22%] 830s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 22%] 830s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_plural PASSED [ 22%] 830s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_plural_fuzzy PASSED [ 22%] 830s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_unit_without_location PASSED [ 22%] 830s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_mixed_units_with_and_without_location PASSED [ 22%] 830s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_substring_replacement PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_duplicate_text_segment_based_replacement PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_dokuwiki_flavour_segmentation PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_substring_replacement PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_duplicate_text_segment_based_replacement PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_dokuwiki_flavour_segmentation PASSED [ 22%] 830s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 22%] 830s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 22%] 830s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 22%] 830s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 22%] 830s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 22%] 830s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 22%] 830s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 22%] 830s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 23%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 23%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 23%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 23%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 23%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 23%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 23%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 23%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 23%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 23%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 23%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 23%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 23%] 831s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 23%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 23%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 23%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 23%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 23%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 23%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 23%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 23%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 23%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 23%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 23%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 23%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 23%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 23%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 23%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 23%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 23%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 23%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 23%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 23%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 23%] 831s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 23%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 23%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 23%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 23%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 23%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overrides_old PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurrect_obsolete_messages PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurrect_obsolete_messages_into_msgidcomment PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 24%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overrides_old PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurrect_obsolete_messages PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurrect_obsolete_messages_into_msgidcomment PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 25%] 831s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 25%] 831s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 25%] 831s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 25%] 831s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 25%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 25%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 25%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 25%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 25%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_value_no_key_entry PASSED [ 25%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 25%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 25%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 25%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 25%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 25%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_locations_mozilla PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_strings_bilingual_simple PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2PO::test_strings_bilingual_multiline PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_value_no_key_entry PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_locations_mozilla PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 26%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 27%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_strings_bilingual_simple PASSED [ 27%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_strings_bilingual_multiline PASSED [ 27%] 831s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 27%] 831s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 27%] 831s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 27%] 831s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 27%] 831s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 27%] 831s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 27%] 831s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 27%] 831s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 27%] 831s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 27%] 831s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 27%] 831s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 27%] 831s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 27%] 831s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 27%] 831s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 27%] 831s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 27%] 831s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 27%] 831s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 27%] 831s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 27%] 831s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 27%] 831s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 27%] 831s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 27%] 831s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 27%] 831s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 27%] 831s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 27%] 831s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 27%] 831s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 27%] 831s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 27%] 831s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 27%] 831s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_simple_convert PASSED [ 27%] 831s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_nested_convert PASSED [ 27%] 831s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_comment_extraction PASSED [ 27%] 831s tests/translate/convert/test_toml2po.py::TestTOML2PO::test_merge_with_template PASSED [ 27%] 831s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 27%] 831s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 27%] 831s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 27%] 831s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 27%] 831s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 28%] 831s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 28%] 831s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 28%] 831s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 28%] 831s tests/translate/convert/test_ts2po.py::TestTS2PO::test_plural PASSED [ 28%] 831s tests/translate/convert/test_ts2po.py::TestTS2PO::test_plural_unfinished PASSED [ 28%] 831s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 28%] 831s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 28%] 831s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 28%] 831s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 28%] 831s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 28%] 831s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 28%] 831s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 28%] 831s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 28%] 831s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_plural PASSED [ 28%] 831s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_plural_unfinished PASSED [ 28%] 831s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 28%] 831s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 29%] 831s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 29%] 831s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 29%] 831s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 29%] 831s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 29%] 831s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 29%] 831s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 29%] 831s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 29%] 831s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 29%] 831s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 29%] 831s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 29%] 831s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 29%] 831s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 30%] 831s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 30%] 831s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 30%] 831s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_comment_extraction PASSED [ 30%] 831s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_comment_extraction_nested PASSED [ 30%] 831s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 30%] 831s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 30%] 831s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 30%] 831s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 30%] 832s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 30%] 832s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 30%] 832s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_comment_extraction PASSED [ 30%] 832s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_comment_extraction_nested PASSED [ 30%] 832s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 30%] 832s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 30%] 832s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 30%] 832s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 30%] 832s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 30%] 832s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 30%] 832s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 30%] 832s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 30%] 832s tests/translate/filters/test_checks.py::test_defaults PASSED [ 30%] 832s tests/translate/filters/test_checks.py::test_construct PASSED [ 30%] 832s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 30%] 832s tests/translate/filters/test_checks.py::test_messages PASSED [ 30%] 832s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 30%] 832s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 30%] 832s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 30%] 832s tests/translate/filters/test_checks.py::test_blank PASSED [ 30%] 832s tests/translate/filters/test_checks.py::test_brackets PASSED [ 30%] 832s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 30%] 832s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 30%] 832s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 30%] 832s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 30%] 832s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 30%] 832s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 30%] 832s tests/translate/filters/test_checks.py::test_escapes PASSED [ 30%] 832s tests/translate/filters/test_checks.py::test_newlines PASSED [ 30%] 832s tests/translate/filters/test_checks.py::test_tabs PASSED [ 30%] 832s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_long PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 31%] 832s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_numbers PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_options PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_printf PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_short PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 31%] 832s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 31%] 832s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_validchars PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 31%] 832s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 31%] 832s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_functions PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_emails PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_urls PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_credits PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_gconf PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_validxml PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 32%] 832s tests/translate/filters/test_checks.py::test_category PASSED [ 32%] 832s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 32%] 832s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 32%] 832s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 32%] 832s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 32%] 832s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 32%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 32%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 32%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 32%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 32%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existent_check PASSED [ 32%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 32%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 32%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 32%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 32%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 32%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 32%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 32%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 32%] 832s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 32%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 32%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 32%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 32%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existent_check PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existent_check PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existent_check PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 33%] 832s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 34%] 832s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 34%] 832s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 34%] 832s tests/translate/lang/test_af.py::test_sentences PASSED [ 34%] 832s tests/translate/lang/test_af.py::test_capsstart PASSED [ 34%] 832s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 34%] 832s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 34%] 832s tests/translate/lang/test_am.py::test_sentences PASSED [ 34%] 832s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 34%] 832s tests/translate/lang/test_ar.py::test_sentences PASSED [ 34%] 832s tests/translate/lang/test_common.py::test_characters PASSED [ 34%] 832s tests/translate/lang/test_common.py::test_words PASSED [ 34%] 832s tests/translate/lang/test_common.py::test_word_khmer PASSED [ 34%] 832s tests/translate/lang/test_common.py::test_sentences PASSED [ 34%] 832s tests/translate/lang/test_common.py::test_capsstart PASSED [ 34%] 832s tests/translate/lang/test_common.py::test_numstart PASSED [ 34%] 832s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 34%] 832s tests/translate/lang/test_common.py::test_length_difference PASSED [ 34%] 832s tests/translate/lang/test_common.py::test_alter_length PASSED [ 34%] 832s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 34%] 832s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 34%] 832s tests/translate/lang/test_data.py::test_is_rtl PASSED [ 34%] 832s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 34%] 832s tests/translate/lang/test_el.py::test_sentences PASSED [ 34%] 832s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 34%] 832s tests/translate/lang/test_es.py::test_sentences PASSED [ 34%] 832s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 34%] 832s tests/translate/lang/test_fa.py::test_sentences PASSED [ 34%] 832s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 34%] 832s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 34%] 832s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 34%] 832s tests/translate/lang/test_fr.py::test_sentences PASSED [ 34%] 832s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 34%] 832s tests/translate/lang/test_hy.py::test_sentences PASSED [ 34%] 832s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 34%] 832s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 34%] 832s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 34%] 832s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 34%] 832s tests/translate/lang/test_ja.py::test_sentences PASSED [ 34%] 832s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 35%] 832s tests/translate/lang/test_km.py::test_sentences PASSED [ 35%] 832s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 35%] 832s tests/translate/lang/test_ko.py::test_sentences PASSED [ 35%] 832s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 35%] 832s tests/translate/lang/test_ne.py::test_sentences PASSED [ 35%] 832s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 35%] 832s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 35%] 832s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 35%] 832s tests/translate/lang/test_or.py::test_country_code PASSED [ 35%] 832s tests/translate/lang/test_or.py::test_sentences PASSED [ 35%] 832s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 35%] 832s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 35%] 832s tests/translate/lang/test_ro.py::test_niciun PASSED [ 35%] 832s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 35%] 832s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 35%] 832s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 35%] 832s tests/translate/lang/test_team.py::test_simple PASSED [ 35%] 832s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 35%] 832s tests/translate/lang/test_th.py::test_sentences PASSED [ 35%] 832s tests/translate/lang/test_tr.py::test_sentences PASSED [ 35%] 832s tests/translate/lang/test_uk.py::test_sentences PASSED [ 35%] 832s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 35%] 832s tests/translate/lang/test_vi.py::test_sentences PASSED [ 35%] 832s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 35%] 832s tests/translate/lang/test_zh.py::test_sentences PASSED [ 35%] 832s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 35%] 832s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 35%] 832s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 35%] 832s tests/translate/misc/test_dictutils.py::test_cidict_pop PASSED [ 35%] 832s tests/translate/misc/test_dictutils.py::test_cidict_getitem PASSED [ 35%] 832s tests/translate/misc/test_dictutils.py::test_cidict_setitem PASSED [ 35%] 832s tests/translate/misc/test_dictutils.py::test_cidict_delitem PASSED [ 35%] 832s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 35%] 832s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 35%] 832s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 35%] 832s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 35%] 832s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 35%] 832s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 35%] 832s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 36%] 832s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 36%] 832s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 36%] 832s tests/translate/misc/test_multistring.py::TestMultistring::test_bool PASSED [ 36%] 832s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 36%] 832s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 36%] 832s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 36%] 832s tests/translate/misc/test_quote.py::test_find_all PASSED [ 36%] 832s tests/translate/misc/test_quote.py::test_extract PASSED [ 36%] 832s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 36%] 832s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 36%] 832s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 36%] 832s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 36%] 832s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_iso_8859_1 PASSED [ 36%] 832s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_ascii PASSED [ 36%] 832s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode_unicode_range PASSED [ 36%] 832s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 36%] 832s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 36%] 832s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 36%] 832s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 36%] 832s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 36%] 832s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 36%] 832s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 36%] 832s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 36%] 832s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 36%] 832s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 36%] 832s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 36%] 832s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 36%] 832s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 36%] 832s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 36%] 832s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 36%] 832s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 36%] 832s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 36%] 832s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 36%] 832s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 36%] 832s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 36%] 832s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 36%] 832s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 36%] 832s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 36%] 832s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 37%] 832s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 37%] 833s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 37%] 834s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 37%] 834s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 37%] 834s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 37%] 834s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 37%] 834s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 37%] 834s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 37%] 834s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 37%] 834s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 37%] 834s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 37%] 834s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 37%] 834s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 37%] 834s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 37%] 834s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 37%] 834s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 38%] 834s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 38%] 834s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 38%] 834s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 38%] 834s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 38%] 834s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 38%] 834s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 38%] 834s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 38%] 834s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 38%] 834s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 38%] 834s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 38%] 834s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_line_number_default PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 38%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 39%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_xml PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 40%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse_decimal_plurals PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_to_plurals PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_empty_missing_plural_tag PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_line_number_default PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escape_quote PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 41%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_isfuzzy PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_create PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_eq PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_escapes PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_difficult_escapes PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_note_sanity PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_line_number_default PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_target PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_rich_get PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_rich_set PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceUnit::test_escape_quote PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_create_blank PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_add PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_remove PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_find PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_parse PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_files PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_save PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_extensions PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_mimetypes PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_translate PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_markup PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_nonascii PASSED [ 42%] 834s tests/translate/storage/test_aresource.py::TestCMPResourceFile::test_quote_escape PASSED [ 42%] 834s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 42%] 834s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 42%] 834s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 42%] 834s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 42%] 834s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 42%] 834s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 43%] 834s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 43%] 834s tests/translate/storage/test_base.py::TestTranslationUnit::test_line_number_default PASSED [ 43%] 834s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 43%] 834s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 43%] 834s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 43%] 834s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 43%] 834s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 43%] 834s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 43%] 834s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 43%] 834s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 43%] 834s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 43%] 834s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 43%] 834s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 43%] 834s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 43%] 834s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 43%] 834s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 43%] 834s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_create_empty_bundle PASSED [ 43%] 834s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_create_bundle_from_nonexistent_file PASSED [ 43%] 834s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle PASSED [ 43%] 834s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save PASSED [ 43%] 834s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip PASSED [ 43%] 834s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle PASSED [ 43%] 834s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_update_file_in_bundle PASSED [ 43%] 834s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle PASSED [ 43%] 834s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_invalid_bundle_error PASSED [ 43%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 43%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 43%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 43%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 43%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 43%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_line_number_default PASSED [ 43%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 43%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 43%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 43%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 43%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 43%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 43%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 43%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 44%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 44%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 44%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 44%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 44%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 44%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 44%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 44%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 44%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 44%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 44%] 834s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_line_number_default PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 44%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 45%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 45%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 45%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 45%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 45%] 834s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 45%] 835s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 45%] 835s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding_save PASSED [ 45%] 835s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_id_target PASSED [ 45%] 835s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_context_target PASSED [ 45%] 835s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_key_translation PASSED [ 45%] 835s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_roundtrip PASSED [ 45%] 835s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_context_roundtrip PASSED [ 45%] 835s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_id_context_roundtrip PASSED [ 45%] 835s tests/translate/storage/test_csvl10n.py::TestCSV::test_monolingual_target_only_roundtrip PASSED [ 45%] 835s tests/translate/storage/test_csvl10n.py::TestCSV::test_quote_nonnumeric_handling PASSED [ 45%] 835s tests/translate/storage/test_csvl10n.py::TestCSV::test_quote_nonnumeric_with_single_quotes PASSED [ 45%] 835s tests/translate/storage/test_csvl10n.py::TestCSV::test_line_number PASSED [ 45%] 835s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 45%] 835s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 45%] 835s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 45%] 835s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 45%] 835s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 45%] 835s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 45%] 835s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 45%] 835s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 45%] 835s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 45%] 835s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 45%] 835s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 45%] 835s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 45%] 835s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 45%] 835s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 45%] 835s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 45%] 835s tests/translate/storage/test_dtd.py::TestDTDUnit::test_line_number_default PASSED [ 45%] 835s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 45%] 835s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 45%] 835s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 45%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 45%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 45%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_multiple_blank_lines PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_entity_with_extra_spaces PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestDTD::test_mixed_content_preservation PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 46%] 835s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 47%] 835s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 47%] 835s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 47%] 835s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 47%] 835s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 47%] 835s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 47%] 835s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 47%] 835s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 47%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 47%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 47%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 47%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 47%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_line_number_default PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 48%] 835s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 48%] 835s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 48%] 835s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 48%] 835s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 48%] 835s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 48%] 835s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 48%] 835s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 48%] 835s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 48%] 835s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 48%] 835s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 48%] 835s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 48%] 835s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 48%] 835s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_button PASSED [ 48%] 835s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_lang_attribute PASSED [ 48%] 835s tests/translate/storage/test_html.py::TestHTMLExtraction::test_dir_attribute_not_extracted PASSED [ 49%] 835s tests/translate/storage/test_html.py::TestHTMLExtraction::test_data_translate_ignore_attribute PASSED [ 49%] 835s tests/translate/storage/test_html.py::TestHTMLExtraction::test_translate_comment_directives PASSED [ 49%] 835s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_social_media_tags PASSED [ 49%] 835s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_non_translatable_tags PASSED [ 49%] 835s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_meta_mixed_translatable_and_non_translatable PASSED [ 49%] 835s tests/translate/storage/test_html.py::TestHTMLExtraction::test_data_translate_comment_attribute PASSED [ 49%] 835s tests/translate/storage/test_html_context.py::test_html_context_basic PASSED [ 49%] 835s tests/translate/storage/test_html_context.py::test_html_context_attribute PASSED [ 49%] 835s tests/translate/storage/test_html_context.py::test_html_context_attribute_with_id PASSED [ 49%] 835s tests/translate/storage/test_html_context.py::test_html_context_same_source_different_contexts PASSED [ 49%] 835s tests/translate/storage/test_html_context.py::test_html_context_nested_outer_wins PASSED [ 49%] 835s tests/translate/storage/test_html_context.py::test_html_context_absent PASSED [ 49%] 835s tests/translate/storage/test_html_context.py::test_html_context_id_overridden_by_explicit PASSED [ 49%] 835s tests/translate/storage/test_html_context.py::test_html_context_id_not_used_when_no_duplicates PASSED [ 49%] 835s tests/translate/storage/test_html_context.py::test_html_context_id_not_used_when_data_translate_context_identical PASSED [ 49%] 835s tests/translate/storage/test_html_context.py::test_html_context_disambiguates_duplicates_with_id PASSED [ 49%] 835s tests/translate/storage/test_html_context.py::test_html_context_disambiguates_duplicates_with_ancestor_id PASSED [ 49%] 835s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 49%] 835s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 49%] 835s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 49%] 835s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 49%] 835s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 49%] 835s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 49%] 835s tests/translate/storage/test_ini.py::TestINIUnit::test_line_number_default PASSED [ 49%] 835s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 49%] 835s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 49%] 835s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 49%] 835s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 49%] 835s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 49%] 835s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 49%] 835s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 49%] 835s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 49%] 835s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 49%] 835s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 49%] 835s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 49%] 835s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 49%] 835s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 49%] 835s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 49%] 835s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 50%] 835s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 50%] 835s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_line_number_default PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 50%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_line_number_default PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_line_number_default PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 51%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_comments PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 52%] 835s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 53%] 835s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 54%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_invalid_nesting PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_empty_metadata_not_stored PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_invalid PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_isfuzzy PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_create PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_eq PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_escapes PASSED [ 55%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_difficult_escapes PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_note_sanity PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_line_number_default PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_target PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_rich_get PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_rich_set PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_source_property_maps_to_id PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonUnit::test_source_roundtrip PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_create_blank PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_remove PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_find PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_files PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_save PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_extensions PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_mimetypes PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_translate PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_markup PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_nonascii PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse_simple PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_serialize_simple PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_parse_with_plurals PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_preserve_plural_form PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_roundtrip_with_plurals PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_ignore_non_translations_keys PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_preserve_other_metadata PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add_unit PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_add_plural_unit PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestNextcloudJsonFile::test_empty_translations PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_create_blank PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_add PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_remove PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_find PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_parse PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_files PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_save PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_extensions PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_mimetypes PASSED [ 56%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_translate PASSED [ 57%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_markup PASSED [ 57%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_nonascii PASSED [ 57%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_roundtrip PASSED [ 57%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_basic_parsing PASSED [ 57%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_multiple_metadata PASSED [ 57%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_no_metadata PASSED [ 57%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_edit_target PASSED [ 57%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_edit_notes PASSED [ 57%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_keys_with_dots PASSED [ 57%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_leading_dot_keys PASSED [ 57%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_invalid_nesting PASSED [ 57%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_property_get_set PASSED [ 57%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_property_persists PASSED [ 57%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_getcontext_returns_id PASSED [ 57%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_parsing_preserves_order PASSED [ 57%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_metadata_without_translation PASSED [ 57%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_complex_keys_with_multiple_dots PASSED [ 57%] 835s tests/translate/storage/test_jsonl10n.py::TestRESJSONFile::test_source_empty_string PASSED [ 57%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 57%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 57%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 57%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 57%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 57%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 57%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 57%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 57%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 57%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 57%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 57%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 57%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 57%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 57%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 57%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 57%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 57%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 57%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 57%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 57%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_basic PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_with_markup PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_section_with_code_block PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_multiple_ignore_sections PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_at_start PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_ignore_at_end PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_nested_structures_in_ignore PASSED [ 58%] 835s tests/translate/storage/test_markdown.py::TestMarkdownTranslationIgnore::test_link_references_in_ignore PASSED [ 58%] 835s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 58%] 835s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 58%] 835s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 58%] 835s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 58%] 835s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 58%] 835s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 58%] 835s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 58%] 835s tests/translate/storage/test_mo.py::TestMOUnit::test_line_number_default PASSED [ 58%] 835s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 58%] 835s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 58%] 835s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 58%] 835s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 58%] 835s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 58%] 835s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 58%] 835s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 59%] 835s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 59%] 835s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 59%] 835s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 59%] 835s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 59%] 835s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 59%] 835s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 59%] 835s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 59%] 835s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 59%] 835s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 59%] 835s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 59%] 835s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 59%] 835s tests/translate/storage/test_mo.py::TestMOFile::test_endian_version_parsing PASSED [ 59%] 835s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 59%] 835s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 59%] 835s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 59%] 835s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 59%] 835s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 59%] 835s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 59%] 835s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_line_number_default PASSED [ 59%] 835s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 59%] 835s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 59%] 835s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 59%] 835s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 59%] 835s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 59%] 835s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 59%] 835s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 59%] 835s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 59%] 835s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 59%] 835s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 59%] 835s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 59%] 835s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 59%] 835s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 59%] 835s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 59%] 835s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 59%] 835s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 59%] 835s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 59%] 835s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 59%] 835s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 59%] 835s 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%] 835s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_line_number_default PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 60%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 61%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 61%] 835s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 61%] 836s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 61%] 836s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 61%] 836s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 61%] 836s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 61%] 836s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 61%] 836s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 61%] 836s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 61%] 836s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_line_number PASSED [ 61%] 836s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_isfuzzy PASSED [ 61%] 836s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_create PASSED [ 61%] 836s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_eq PASSED [ 61%] 836s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_target PASSED [ 61%] 836s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_escapes PASSED [ 61%] 836s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_difficult_escapes PASSED [ 61%] 836s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_note_sanity PASSED [ 61%] 836s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_line_number_default PASSED [ 61%] 836s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_rich_get PASSED [ 61%] 836s tests/translate/storage/test_omegat.py::TestOmegaTUnit::test_rich_set PASSED [ 61%] 836s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_create_blank PASSED [ 61%] 836s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_add PASSED [ 61%] 836s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_remove PASSED [ 61%] 836s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_find PASSED [ 61%] 836s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_translate PASSED [ 61%] 836s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_parse PASSED [ 61%] 836s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_files PASSED [ 61%] 836s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_save PASSED [ 61%] 836s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_markup PASSED [ 61%] 836s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_nonascii PASSED [ 61%] 836s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_mimetypes PASSED [ 61%] 836s tests/translate/storage/test_omegat.py::TestOmegaTFile::test_extensions XFAIL [ 61%] 836s tests/translate/storage/test_oo.py::test_makekey PASSED [ 61%] 836s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 61%] 836s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 61%] 836s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 61%] 836s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 61%] 836s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 61%] 836s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 62%] 836s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 62%] 836s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 62%] 836s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpUnit::test_line_number_default PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 62%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 63%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_with_spaces PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_with_comments PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_line_number_default PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping_array_syntax PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_key_stripping_numeric_keys PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_roundtrip_short_array PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_roundtrip_array_syntax PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_preserves_structure PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_with_array_syntax PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_addunit_with_setid PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_unit_to_short_array_file PASSED [ 64%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_unit_to_array_function_file PASSED [ 65%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_multiple_units_to_short_array PASSED [ 65%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add_multiple_units_to_array_function PASSED [ 65%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_numeric_keys_no_quotes PASSED [ 65%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_empty_string_key PASSED [ 65%] 836s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_setid_with_non_string_value PASSED [ 65%] 836s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOUnit::test_line_number_default PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 65%] 836s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_invalid_keyword PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 66%] 836s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_spaces PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_fit PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_overflow PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_multiline PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_long_escapes PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_wrap_escape_line PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_wrap_wide_stop PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_wrap_escape PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_c_style_comment_error_reporting PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_unusual_line_endings PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_charset_with_space PASSED [ 67%] 836s tests/translate/storage/test_po.py::TestPOFile::test_duplicate_msgid_error PASSED [ 67%] 836s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 67%] 836s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 67%] 836s tests/translate/storage/test_poheader.py::test_update PASSED [ 67%] 836s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 67%] 836s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 67%] 836s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 67%] 836s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 67%] 836s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 67%] 836s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 67%] 836s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 67%] 836s tests/translate/storage/test_poheader.py::test_language PASSED [ 67%] 836s tests/translate/storage/test_poheader.py::test_project PASSED [ 67%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 67%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_line_number_default PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 68%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_marktranslatable PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_groups_when_adding_units PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_multiple_files_and_groups PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_unit_to_existing_group PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_unit_to_different_file PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mixed_groups_and_body PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addunit_with_new_false PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace_preservation_across_versions PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_units_between_different_files PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_group_preservation_across_different_namespaces PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_cross_namespace_group_and_file_preservation PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 69%] 836s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 69%] 838s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 69%] 838s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 69%] 838s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 69%] 838s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 69%] 838s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 69%] 838s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 69%] 838s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 69%] 838s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 69%] 838s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 69%] 838s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 69%] 838s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 69%] 838s tests/translate/storage/test_properties.py::test_find_delimiter_pos_empty_and_whitespace PASSED [ 69%] 838s tests/translate/storage/test_properties.py::test_find_delimiter_pos_tabs PASSED [ 69%] 838s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 69%] 838s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 69%] 838s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 69%] 838s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 69%] 838s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 69%] 838s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 69%] 838s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestPropUnit::test_line_number_default PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 70%] 838s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_tab_delimiter_parsing PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comments PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comments_nested PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_inline_comment_with_spaces PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_before_entry PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_between_key_and_equals PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_between_equals_and_value PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_after_value_before_semicolon PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multiple_inline_comments PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_nested_comment PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comment_inside_value PASSED [ 71%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_trailing_whitespace_after_semicolon PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestProp::test_utf16_bom_no_warning PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 72%] 838s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 73%] 838s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 73%] 838s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 73%] 838s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 73%] 838s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 73%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 73%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_line_number_default PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_with_blank_lines PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 74%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid_keyword PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 75%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_spaces PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_fit PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_overflow PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_multiline PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_long_escapes PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_escape_line PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_wide_stop PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_escape PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_c_style_comment_error_reporting PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unusual_line_endings PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_charset_with_space PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_duplicate_msgid_error PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_future_flags PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 76%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 77%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 77%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 77%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 77%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 77%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 77%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 77%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 77%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 77%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 77%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 77%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 77%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 77%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 77%] 838s tests/translate/storage/test_pypo.py::TestPYPOFile::test_line_number PASSED [ 77%] 838s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 77%] 838s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 77%] 838s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 77%] 838s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 77%] 838s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 77%] 838s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 77%] 838s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 77%] 838s tests/translate/storage/test_qm.py::TestQtUnit::test_line_number_default PASSED [ 77%] 838s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 77%] 838s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 77%] 838s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 77%] 838s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 77%] 838s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 77%] 838s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 77%] 838s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 77%] 838s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 77%] 838s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 77%] 838s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 77%] 838s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 77%] 838s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 77%] 838s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 77%] 838s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 77%] 838s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 77%] 838s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 77%] 838s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphUnit::test_line_number_default PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 78%] 838s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 78%] 838s tests/translate/storage/test_rc.py::test_escaping PASSED [ 78%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 78%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 78%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 78%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 78%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 78%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 78%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 78%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 78%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 78%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 78%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 78%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 78%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 78%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 78%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 79%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 79%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 79%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 79%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 79%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 79%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 79%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_utf16_pragma_code_page PASSED [ 79%] 838s tests/translate/storage/test_rc.py::TestRcFile::test_utf8_pragma_code_page PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_line_number_default PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 79%] 838s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 79%] 838s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 79%] 838s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 79%] 838s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 79%] 838s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 79%] 838s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 79%] 838s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 79%] 838s tests/translate/storage/test_resx.py::TestRESXUnit::test_line_number_default PASSED [ 79%] 838s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_line_number_default PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 80%] 838s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 80%] 839s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 80%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 80%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 80%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 80%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 80%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 80%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 80%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_line_number_default PASSED [ 80%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 80%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 80%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 80%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 80%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 80%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 81%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 81%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 81%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 81%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 81%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 81%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 81%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 81%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 81%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 81%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 81%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 81%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 81%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 81%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 81%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 81%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 81%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 81%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 81%] 839s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 81%] 839s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 81%] 839s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 81%] 839s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 81%] 839s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 81%] 839s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 81%] 839s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 81%] 839s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 81%] 839s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 81%] 839s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 81%] 839s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 81%] 839s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 81%] 839s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 81%] 839s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_ordering PASSED [ 81%] 839s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create_blank PASSED [ 81%] 839s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_add PASSED [ 81%] 839s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_remove PASSED [ 81%] 839s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_find PASSED [ 81%] 839s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_parse PASSED [ 81%] 839s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_files PASSED [ 81%] 839s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_save PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_extensions PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_mimetypes PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_translate PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_markup PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_nonascii PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_ordering PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 82%] 839s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_ordering PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_ordering PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_style_preservation PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 82%] 839s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 83%] 839s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 83%] 839s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 83%] 839s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 83%] 839s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 83%] 839s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 83%] 839s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 83%] 839s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 83%] 839s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_ordering PASSED [ 83%] 839s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_style_preservation PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXUnit::test_line_number_default PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 83%] 839s tests/translate/storage/test_tbx.py::TestTBXfile::test_administrative_status_and_translation_needed PASSED [ 84%] 839s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 84%] 839s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 84%] 839s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 84%] 839s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 84%] 839s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 84%] 839s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXUnit::test_line_number_default PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_line_number_default PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_context PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 84%] 839s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 85%] 839s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 85%] 839s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 85%] 839s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 85%] 839s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 85%] 839s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 85%] 839s tests/translate/storage/test_tmx.py::TestTMXfile::test_context PASSED [ 85%] 839s tests/translate/storage/test_tmx.py::TestTMXfile::test_note_order PASSED [ 85%] 839s tests/translate/storage/test_tmx.py::TestTMXfile::test_prop_and_note_order PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_isfuzzy PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_create PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_eq PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_escapes PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_difficult_escapes PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_note_sanity PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_line_number_default PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_target PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_rich_get PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_rich_set PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceUnit::test_getlocations PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_create_blank PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_add PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_find PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_parse PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_files PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_save PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_extensions PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_mimetypes PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_translate PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_markup PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_nonascii PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_serialize PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_empty PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_edit PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_edit_unicode PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_parse_unicode_list PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_ordering PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_nested PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline PASSED [ 85%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_boolean PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_integer PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_no_quote_strings PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_double_quote_strings PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_single_quote_strings PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_escaped_double_quotes PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_newlines PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_list PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_inline_table PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_key_nesting PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_add_to_empty PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_dict_in_list PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_remove PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_special PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_extraction_simple PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_extraction_multiline PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_no_comment_backwards_compat PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_simple PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_multiline PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_nested PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_comment_preservation_with_modification PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_literal_string PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline_basic_string PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestTOMLResourceStore::test_multiline_literal_string PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_create_blank PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_add PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_remove PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_find PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_parse PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_files PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_save PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_extensions PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_mimetypes PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_translate PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_markup PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_nonascii PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_simple_plural PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_plural_with_other_keys PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_full_plural_forms PASSED [ 86%] 839s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_roundtrip_plural PASSED [ 87%] 839s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_mixed_content PASSED [ 87%] 839s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_letsencrypt_style PASSED [ 87%] 839s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_comment_preservation_goi18n PASSED [ 87%] 839s tests/translate/storage/test_toml.py::TestGoI18nTOMLResourceStore::test_comment_preservation_goi18n_plural PASSED [ 87%] 839s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 839s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 839s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSUnit::test_line_number_default PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 87%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 839s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtUnit::test_line_number_default PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 88%] 839s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 88%] 839s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 88%] 839s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 88%] 839s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 88%] 839s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 88%] 839s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 88%] 839s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 88%] 839s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 88%] 839s tests/translate/storage/test_utx.py::TestUtxUnit::test_line_number_default PASSED [ 89%] 839s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 839s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 839s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 839s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 839s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 839s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 839s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 839s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 839s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 839s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 839s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 839s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 839s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 839s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFUnit::test_line_number_default PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 89%] 839s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 839s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 839s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 839s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_line_number_default PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 90%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_marktranslatable PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_groups_when_adding_units PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_multiple_files_and_groups PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_unit_to_existing_group PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_unit_to_different_file PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mixed_groups_and_body PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addunit_with_new_false PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace_preservation_across_versions PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_units_between_different_files PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_group_preservation_across_different_namespaces PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_cross_namespace_group_and_file_preservation PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 91%] 839s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 91%] 840s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 91%] 840s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 91%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_isfuzzy PASSED [ 91%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_create PASSED [ 91%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_eq PASSED [ 91%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_target PASSED [ 91%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_escapes PASSED [ 91%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_difficult_escapes PASSED [ 91%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_note_sanity PASSED [ 91%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_line_number_default PASSED [ 91%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_rich_get PASSED [ 91%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_rich_set PASSED [ 91%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_notes PASSED [ 91%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_id_management PASSED [ 91%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2Unit::test_marktranslatable PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_create_blank PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_add PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_remove PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_find PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_translate PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_files PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_save PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_markup PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_nonascii PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_extensions PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_mimetypes PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_basic PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_source_target PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_language_attributes PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_namespace PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_unit_structure PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_multiple_units PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse_xliff2 PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_parse_translate_attribute PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_multiple_segments_per_unit PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_mixed_single_and_multiple_segments PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_segments_without_ids PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_escaped_inline_tags PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_simple_source_target_pairs PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_malformed_xml_declaration PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_variable_placeholders PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_add_unit PASSED [ 92%] 840s tests/translate/storage/test_xliff2.py::TestXLIFF2file::test_states PASSED [ 92%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_line_number_default PASSED [ 92%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 94%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 94%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 94%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 94%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 94%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 94%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_simple PASSED [ 94%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_multiline PASSED [ 94%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_nested PASSED [ 94%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_comment_extraction_mixed PASSED [ 94%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_comment_backwards_compat PASSED [ 94%] 840s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline_literal_format PASSED [ 94%] 840s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 94%] 840s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 94%] 840s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 94%] 840s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 94%] 841s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 94%] 841s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 94%] 841s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 94%] 841s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 94%] 841s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 841s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 841s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 841s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 841s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 841s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 841s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 841s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 841s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 841s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 841s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 841s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 841s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_blank PASSED [ 94%] 841s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_partial PASSED [ 94%] 841s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_pt_br PASSED [ 94%] 841s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_bug_ruby_remove_zero_few_and_mix_others PASSED [ 94%] 841s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 841s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 841s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 841s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 95%] 841s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 95%] 841s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 95%] 841s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 95%] 841s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 95%] 841s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 95%] 841s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 95%] 841s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 95%] 841s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 95%] 841s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 95%] 841s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 95%] 841s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 95%] 841s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 95%] 841s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 95%] 841s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 95%] 841s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 841s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 841s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 841s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 842s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 842s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 842s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 842s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 842s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 842s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 842s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 842s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 842s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 842s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 842s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 842s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 842s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 842s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 842s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 842s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 842s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 842s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 842s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 842s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 842s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::test_csv_line_terminator PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_fuzzy_with_target PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_fuzzy_without_target PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_translated_not_fuzzy PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_untranslated_empty_target PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::TestPOCountCategorization::test_categorization_mutually_exclusive PASSED [ 96%] 842s tests/translate/tools/test_pocount.py::TestPOCountLineEndings::test_unusual_line_endings PASSED [ 96%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank_clears_fuzzy PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank_with_plurals PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 842s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 842s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 842s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 842s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 842s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 842s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 842s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 842s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 842s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 842s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 842s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 842s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 842s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 842s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 842s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 842s tests/translate/tools/test_posegment.py::TestPOSegment::test_transifex_po PASSED [ 98%] 842s tests/translate/tools/test_posegment.py::TestXLIFFSegment::test_xliff_en_simple PASSED [ 98%] 842s tests/translate/tools/test_posegment.py::TestXLIFFSegment::test_xliff_untranslated PASSED [ 98%] 842s tests/translate/tools/test_posegment.py::TestTMXSegment::test_tmx_en_simple PASSED [ 98%] 842s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 842s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_unitinfo_stores_minimal_data PASSED [ 98%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overrides_old PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurrect_obsolete_messages PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overrides_old PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurrect_obsolete_messages PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 842s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 842s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 842s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 842s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 842s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 842s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 842s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 843s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 843s 843s =============================== warnings summary =============================== 843s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 843s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.Lga1Rh/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 843s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 843s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 843s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 843s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 843s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 843s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 843s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 843s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 843s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 843s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 843s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 843s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 843s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 843s Warning: Could not find accesskey for key.accesskey 843s 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 843s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 843s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 843s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.Lga1Rh/autopkgtest_tmp/tests/translate/convert/test.idml'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 843s Warning: unclosed file <_io.BufferedReader name='translation.po'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert 843s tests/translate/convert/test_po2odf.py::TestPO2ODFCommand::test_convert_with_multiple_units 843s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 843s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.Lga1Rh/autopkgtest_tmp/tests/translate/convert/test.odt'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple 843s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple 843s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 843s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 843s Warning: Could not find accesskey for prop.accesskey 843s 843s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context 843s Warning: unclosed file <_io.BufferedReader name='test.po'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_context 843s Warning: unclosed file <_io.TextIOWrapper name='TestPO2TMXCommand_test_context/test.tmx' mode='r' encoding='UTF-8'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 843s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 843s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 843s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 843s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 843s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 843s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 843s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 843s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 843s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 843s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 843s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 843s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 843s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 843s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 843s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 843s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 843s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 843s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 843s 843s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle 843s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_save_bundle 843s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp08o2vsc__test.txt'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save 843s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_cross_device_save 843s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp_6tai1fx_crossdevice.txt'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip 843s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_replace_project_zip 843s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp74a6vx71_initial.txt'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 843s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 843s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpvcrr7smf_load_test.txt'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 843s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_load_existing_bundle 843s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpasa3997t_load_test.txt'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 843s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 843s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpdpan5ehw_file0.txt'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 843s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 843s Warning: unclosed file <_io.BufferedReader name='/tmp/tmpzpgl3od1_file1.txt'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 843s tests/translate/storage/test_bundleprojstore.py::TestBundleProjectStore::test_remove_file_from_bundle 843s Warning: unclosed file <_io.BufferedReader name='/tmp/tmp90b45zx7_file2.txt'> 843s Enable tracemalloc to get traceback where the object was allocated. 843s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 843s 843s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 843s Warning: DTD parse error: :1:35:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 843s :1:35:FATAL:PARSER:ERR_EXT_SUBSET_NOT_FINISHED: Content error in the external subset 843s 843s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 843s Warning: DTD file '' does not validate 843s 843s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 843s --------------------------- snapshot report summary ---------------------------- 843s 23 snapshots passed. 843s =========================== short test summary info ============================ 843s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 843s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 843s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 843s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 843s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 843s XFAIL tests/translate/convert/test_po2md.py::TestPO2MD::test_markdown_table - https://github.com/miyuchina/mistletoe/issues/244 843s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 843s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 843s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 843s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 843s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 843s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 843s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 843s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 843s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 843s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 843s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 843s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 843s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 843s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 843s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 843s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 843s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 843s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 843s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 843s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 843s 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 843s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 843s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 843s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 843s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 843s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 843s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 843s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 843s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 843s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 843s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 843s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 843s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 843s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 843s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 843s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 843s ========== 3862 passed, 3 skipped, 39 xfailed, 69 warnings in 21.53s =========== 844s autopkgtest [06:23:15]: test python3-translate-commands: -----------------------] 845s autopkgtest [06:23:16]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 845s python3-translate-commands PASS 845s autopkgtest [06:23:16]: @@@@@@@@@@@@@@@@@@@@ summary 845s translate-toolkit PASS 845s python3-translate PASS 845s python3-translate-commands PASS