0s autopkgtest [17:44:05]: starting date and time: 2025-10-20 17:44:05+0000 0s autopkgtest [17:44:05]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [17:44:05]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.z3zlgg64/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:pytest,src:python-pluggy --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=pytest/8.4.2-1 python-pluggy/1.6.0-1' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-s390x --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@bos03-s390x-4.secgroup --name adt-resolute-s390x-translate-toolkit-20251020-174404-juju-7f2275-prod-proposed-migration-environment-20-1741fedb-fe16-4d56-b20b-8ea0588f0d1d --image adt/ubuntu-resolute-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-proposed-migration-s390x -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 3s Creating nova instance adt-resolute-s390x-translate-toolkit-20251020-174404-juju-7f2275-prod-proposed-migration-environment-20-1741fedb-fe16-4d56-b20b-8ea0588f0d1d from image adt/ubuntu-resolute-s390x-server-20251020.img (UUID af6042e7-5f94-4102-8fd4-5557e2338897)... 46s autopkgtest [17:44:51]: testbed dpkg architecture: s390x 46s autopkgtest [17:44:51]: testbed apt version: 3.1.8ubuntu1 46s autopkgtest [17:44:51]: @@@@@@@@@@@@@@@@@@@@ test bed setup 46s autopkgtest [17:44:51]: testbed release detected to be: None 47s autopkgtest [17:44:52]: updating testbed package index (apt update) 47s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [83.3 kB] 48s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 48s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 48s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 48s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5028 B] 48s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [646 kB] 48s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [59.3 kB] 48s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [14.3 kB] 48s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main s390x Packages [108 kB] 49s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted s390x Packages [940 B] 49s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x Packages [395 kB] 49s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse s390x Packages [3812 B] 49s Fetched 1316 kB in 1s (1002 kB/s) 49s Reading package lists... 50s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 50s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 50s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 50s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 51s Reading package lists... 51s Reading package lists... 51s Building dependency tree... 51s Reading state information... 51s Calculating upgrade... 51s The following packages will be upgraded: 51s libbrotli1 libjson-c5 python3-inflect python3-oauthlib python3-zipp 51s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 51s Need to get 554 kB of archives. 51s After this operation, 31.7 kB of additional disk space will be used. 51s Get:1 http://ftpmaster.internal/ubuntu resolute/main s390x libjson-c5 s390x 0.18+ds-1.1 [36.8 kB] 52s Get:2 http://ftpmaster.internal/ubuntu resolute/main s390x libbrotli1 s390x 1.1.0-2build6 [379 kB] 52s Get:3 http://ftpmaster.internal/ubuntu resolute/main s390x python3-inflect all 7.5.0-1 [33.9 kB] 53s Get:4 http://ftpmaster.internal/ubuntu resolute/main s390x python3-oauthlib all 3.3.1-1 [93.5 kB] 53s Get:5 http://ftpmaster.internal/ubuntu resolute/main s390x python3-zipp all 3.23.0-1 [10.4 kB] 53s dpkg-preconfigure: unable to re-open stdin: No such file or directory 53s Fetched 554 kB in 1s (375 kB/s) 53s (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 ... 56857 files and directories currently installed.) 53s Preparing to unpack .../libjson-c5_0.18+ds-1.1_s390x.deb ... 53s Unpacking libjson-c5:s390x (0.18+ds-1.1) over (0.18+ds-1) ... 53s Preparing to unpack .../libbrotli1_1.1.0-2build6_s390x.deb ... 53s Unpacking libbrotli1:s390x (1.1.0-2build6) over (1.1.0-2build5) ... 53s Preparing to unpack .../python3-inflect_7.5.0-1_all.deb ... 53s Unpacking python3-inflect (7.5.0-1) over (7.3.1-2) ... 53s Preparing to unpack .../python3-oauthlib_3.3.1-1_all.deb ... 53s Unpacking python3-oauthlib (3.3.1-1) over (3.2.2-3) ... 53s Preparing to unpack .../python3-zipp_3.23.0-1_all.deb ... 53s Unpacking python3-zipp (3.23.0-1) over (3.21.0-1) ... 53s Setting up libbrotli1:s390x (1.1.0-2build6) ... 53s Setting up python3-zipp (3.23.0-1) ... 53s Setting up python3-inflect (7.5.0-1) ... 54s Setting up python3-oauthlib (3.3.1-1) ... 54s Setting up libjson-c5:s390x (0.18+ds-1.1) ... 54s Processing triggers for libc-bin (2.42-0ubuntu3) ... 54s autopkgtest [17:44:59]: upgrading testbed (apt dist-upgrade and autopurge) 54s Reading package lists... 54s Building dependency tree... 54s Reading state information... 54s Calculating upgrade... 54s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 55s Reading package lists... 55s Building dependency tree... 55s Reading state information... 55s Solving dependencies... 55s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 57s autopkgtest [17:45:02]: testbed running kernel: Linux 6.17.0-5-generic #5-Ubuntu SMP Mon Sep 22 08:56:47 UTC 2025 57s autopkgtest [17:45:02]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 61s Get:1 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.15.1-1 (dsc) [3193 B] 61s Get:2 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.15.1-1 (tar) [1170 kB] 61s Get:3 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.15.1-1 (diff) [24.9 kB] 61s gpgv: Signature made Fri Mar 14 13:03:50 2025 UTC 61s gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 61s gpgv: Can't check signature: No public key 61s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.15.1-1.dsc: no acceptable signature found 61s autopkgtest [17:45:06]: testing package translate-toolkit version 3.15.1-1 62s autopkgtest [17:45:07]: build not needed 69s autopkgtest [17:45:14]: test translate-toolkit: preparing testbed 69s Reading package lists... 69s Building dependency tree... 69s Reading state information... 69s Solving dependencies... 69s The following NEW packages will be installed: 69s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 69s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 69s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 69s python3-aeidon python3-bs4 python3-charset-normalizer python3-cheroot 69s python3-cwcwidth python3-dateutil python3-diff-match-patch python3-enchant 69s python3-iniparse python3-levenshtein python3-lxml python3-mistletoe 69s python3-phply python3-ply python3-pycountry python3-pytz python3-rapidfuzz 69s python3-ruamel.yaml python3-ruamel.yaml.clib python3-soupsieve 69s python3-translate python3-tz python3-vobject python3-xapian subversion 69s translate-toolkit 70s 0 upgraded, 42 newly installed, 0 to remove and 0 not upgraded. 70s Need to get 12.1 MB of archives. 70s After this operation, 53.2 MB of additional disk space will be used. 70s Get:1 http://ftpmaster.internal/ubuntu resolute/main s390x emacsen-common all 3.0.8 [13.9 kB] 70s Get:2 http://ftpmaster.internal/ubuntu resolute/main s390x dictionaries-common all 1.30.10 [178 kB] 70s Get:3 http://ftpmaster.internal/ubuntu resolute/main s390x libgomp1 s390x 15.2.0-5ubuntu1 [154 kB] 70s Get:4 http://ftpmaster.internal/ubuntu resolute/main s390x gettext s390x 0.23.1-2build2 [1062 kB] 71s Get:5 http://ftpmaster.internal/ubuntu resolute/main s390x hunspell-en-us all 1:2020.12.07-4 [585 kB] 72s Get:6 http://ftpmaster.internal/ubuntu resolute/main s390x libapr1t64 s390x 1.7.5-1 [114 kB] 72s Get:7 http://ftpmaster.internal/ubuntu resolute/main s390x libaprutil1t64 s390x 1.6.3-3ubuntu2 [98.4 kB] 72s Get:8 http://ftpmaster.internal/ubuntu resolute/main s390x libaspell15 s390x 0.60.8.1-4 [355 kB] 72s Get:9 http://ftpmaster.internal/ubuntu resolute/main s390x libhunspell-1.7-0 s390x 1.7.2+really1.7.2-10build3 [304 kB] 72s Get:10 http://ftpmaster.internal/ubuntu resolute/main s390x libenchant-2-2 s390x 2.8.2+dfsg1-3 [61.2 kB] 72s Get:11 http://ftpmaster.internal/ubuntu resolute/main s390x libexttextcat-data all 3.4.7-1ubuntu1 [193 kB] 72s Get:12 http://ftpmaster.internal/ubuntu resolute/universe s390x libserf-1-1 s390x 1.3.10-3ubuntu1 [49.8 kB] 72s Get:13 http://ftpmaster.internal/ubuntu resolute/universe s390x libutf8proc3 s390x 2.10.0-2 [72.0 kB] 72s Get:14 http://ftpmaster.internal/ubuntu resolute/universe s390x libsvn1 s390x 1.14.5-3 [1368 kB] 74s Get:15 http://ftpmaster.internal/ubuntu resolute/universe s390x libxapian30 s390x 1.4.29-3 [740 kB] 74s Get:16 http://ftpmaster.internal/ubuntu resolute/main s390x libxslt1.1 s390x 1.1.43-0.1 [163 kB] 74s Get:17 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-aeidon all 1.15-2 [231 kB] 74s Get:18 http://ftpmaster.internal/ubuntu resolute/main s390x python3-soupsieve all 2.7-2 [33.6 kB] 74s Get:19 http://ftpmaster.internal/ubuntu resolute/main s390x python3-bs4 all 4.13.4-3 [137 kB] 74s Get:20 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-charset-normalizer s390x 3.4.2-1 [129 kB] 74s Get:21 http://ftpmaster.internal/ubuntu resolute/main s390x python3-cheroot all 10.0.1+ds1-4 [78.6 kB] 74s Get:22 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-cwcwidth s390x 0.1.10-1build1 [22.9 kB] 74s Get:23 http://ftpmaster.internal/ubuntu resolute/main s390x python3-dateutil all 2.9.0-4 [80.3 kB] 74s Get:24 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-diff-match-patch all 20241021-1 [33.6 kB] 74s Get:25 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-enchant all 3.3.0~rc1-1 [35.1 kB] 74s Get:26 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-rapidfuzz s390x 3.12.2+ds-1 [1562 kB] 75s Get:27 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-levenshtein s390x 0.27.1-2 [180 kB] 75s Get:28 http://ftpmaster.internal/ubuntu resolute/main s390x python3-lxml s390x 6.0.1-1 [1522 kB] 75s Get:29 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-mistletoe all 1.4.0-1 [38.2 kB] 75s Get:30 http://ftpmaster.internal/ubuntu resolute/main s390x python3-ply all 3.11-9 [45.8 kB] 75s Get:31 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-phply all 1.2.6-1 [50.5 kB] 75s Get:32 http://ftpmaster.internal/ubuntu resolute/main s390x python3-pytz all 2025.2-3 [163 kB] 75s Get:33 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-ruamel.yaml.clib s390x 0.2.12+ds-1build1 [151 kB] 75s Get:34 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 75s Get:35 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-translate all 3.15.1-1 [319 kB] 76s Get:36 http://ftpmaster.internal/ubuntu resolute/main s390x python3-tz all 2025.2-3 [1866 B] 76s Get:37 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-vobject all 0.9.8+dfsg-2 [41.3 kB] 76s Get:38 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-xapian s390x 1.4.29-1build1 [572 kB] 76s Get:39 http://ftpmaster.internal/ubuntu resolute/universe s390x subversion s390x 1.14.5-3 [900 kB] 76s Get:40 http://ftpmaster.internal/ubuntu resolute/universe s390x translate-toolkit all 3.15.1-1 [81.0 kB] 76s Get:41 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-iniparse all 0.5.1-1 [21.2 kB] 76s Get:42 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 76s Preconfiguring packages ... 76s Fetched 12.1 MB in 7s (1857 kB/s) 76s Selecting previously unselected package emacsen-common. 76s (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 ... 56867 files and directories currently installed.) 76s Preparing to unpack .../00-emacsen-common_3.0.8_all.deb ... 76s Unpacking emacsen-common (3.0.8) ... 76s Selecting previously unselected package dictionaries-common. 76s Preparing to unpack .../01-dictionaries-common_1.30.10_all.deb ... 76s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 76s Unpacking dictionaries-common (1.30.10) ... 76s Selecting previously unselected package libgomp1:s390x. 76s Preparing to unpack .../02-libgomp1_15.2.0-5ubuntu1_s390x.deb ... 76s Unpacking libgomp1:s390x (15.2.0-5ubuntu1) ... 76s Selecting previously unselected package gettext. 76s Preparing to unpack .../03-gettext_0.23.1-2build2_s390x.deb ... 76s Unpacking gettext (0.23.1-2build2) ... 76s Selecting previously unselected package hunspell-en-us. 76s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-4_all.deb ... 76s Unpacking hunspell-en-us (1:2020.12.07-4) ... 76s Selecting previously unselected package libapr1t64:s390x. 76s Preparing to unpack .../05-libapr1t64_1.7.5-1_s390x.deb ... 76s Unpacking libapr1t64:s390x (1.7.5-1) ... 76s Selecting previously unselected package libaprutil1t64:s390x. 76s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu2_s390x.deb ... 76s Unpacking libaprutil1t64:s390x (1.6.3-3ubuntu2) ... 76s Selecting previously unselected package libaspell15:s390x. 76s Preparing to unpack .../07-libaspell15_0.60.8.1-4_s390x.deb ... 76s Unpacking libaspell15:s390x (0.60.8.1-4) ... 76s Selecting previously unselected package libhunspell-1.7-0:s390x. 76s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_s390x.deb ... 76s Unpacking libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 76s Selecting previously unselected package libenchant-2-2:s390x. 76s Preparing to unpack .../09-libenchant-2-2_2.8.2+dfsg1-3_s390x.deb ... 76s Unpacking libenchant-2-2:s390x (2.8.2+dfsg1-3) ... 76s Selecting previously unselected package libexttextcat-data. 76s Preparing to unpack .../10-libexttextcat-data_3.4.7-1ubuntu1_all.deb ... 76s Unpacking libexttextcat-data (3.4.7-1ubuntu1) ... 76s Selecting previously unselected package libserf-1-1:s390x. 76s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_s390x.deb ... 76s Unpacking libserf-1-1:s390x (1.3.10-3ubuntu1) ... 76s Selecting previously unselected package libutf8proc3:s390x. 76s Preparing to unpack .../12-libutf8proc3_2.10.0-2_s390x.deb ... 76s Unpacking libutf8proc3:s390x (2.10.0-2) ... 76s Selecting previously unselected package libsvn1:s390x. 76s Preparing to unpack .../13-libsvn1_1.14.5-3_s390x.deb ... 76s Unpacking libsvn1:s390x (1.14.5-3) ... 76s Selecting previously unselected package libxapian30:s390x. 76s Preparing to unpack .../14-libxapian30_1.4.29-3_s390x.deb ... 76s Unpacking libxapian30:s390x (1.4.29-3) ... 76s Selecting previously unselected package libxslt1.1:s390x. 76s Preparing to unpack .../15-libxslt1.1_1.1.43-0.1_s390x.deb ... 76s Unpacking libxslt1.1:s390x (1.1.43-0.1) ... 76s Selecting previously unselected package python3-aeidon. 76s Preparing to unpack .../16-python3-aeidon_1.15-2_all.deb ... 76s Unpacking python3-aeidon (1.15-2) ... 76s Selecting previously unselected package python3-soupsieve. 76s Preparing to unpack .../17-python3-soupsieve_2.7-2_all.deb ... 76s Unpacking python3-soupsieve (2.7-2) ... 77s Selecting previously unselected package python3-bs4. 77s Preparing to unpack .../18-python3-bs4_4.13.4-3_all.deb ... 77s Unpacking python3-bs4 (4.13.4-3) ... 77s Selecting previously unselected package python3-charset-normalizer. 77s Preparing to unpack .../19-python3-charset-normalizer_3.4.2-1_s390x.deb ... 77s Unpacking python3-charset-normalizer (3.4.2-1) ... 77s Selecting previously unselected package python3-cheroot. 77s Preparing to unpack .../20-python3-cheroot_10.0.1+ds1-4_all.deb ... 77s Unpacking python3-cheroot (10.0.1+ds1-4) ... 77s Selecting previously unselected package python3-cwcwidth. 77s Preparing to unpack .../21-python3-cwcwidth_0.1.10-1build1_s390x.deb ... 77s Unpacking python3-cwcwidth (0.1.10-1build1) ... 77s Selecting previously unselected package python3-dateutil. 77s Preparing to unpack .../22-python3-dateutil_2.9.0-4_all.deb ... 77s Unpacking python3-dateutil (2.9.0-4) ... 77s Selecting previously unselected package python3-diff-match-patch. 77s Preparing to unpack .../23-python3-diff-match-patch_20241021-1_all.deb ... 77s Unpacking python3-diff-match-patch (20241021-1) ... 77s Selecting previously unselected package python3-enchant. 77s Preparing to unpack .../24-python3-enchant_3.3.0~rc1-1_all.deb ... 77s Unpacking python3-enchant (3.3.0~rc1-1) ... 77s Selecting previously unselected package python3-rapidfuzz. 77s Preparing to unpack .../25-python3-rapidfuzz_3.12.2+ds-1_s390x.deb ... 77s Unpacking python3-rapidfuzz (3.12.2+ds-1) ... 77s Selecting previously unselected package python3-levenshtein. 77s Preparing to unpack .../26-python3-levenshtein_0.27.1-2_s390x.deb ... 77s Unpacking python3-levenshtein (0.27.1-2) ... 77s Selecting previously unselected package python3-lxml:s390x. 77s Preparing to unpack .../27-python3-lxml_6.0.1-1_s390x.deb ... 77s Unpacking python3-lxml:s390x (6.0.1-1) ... 77s Selecting previously unselected package python3-mistletoe. 77s Preparing to unpack .../28-python3-mistletoe_1.4.0-1_all.deb ... 77s Unpacking python3-mistletoe (1.4.0-1) ... 77s Selecting previously unselected package python3-ply. 77s Preparing to unpack .../29-python3-ply_3.11-9_all.deb ... 77s Unpacking python3-ply (3.11-9) ... 77s Selecting previously unselected package python3-phply. 77s Preparing to unpack .../30-python3-phply_1.2.6-1_all.deb ... 77s Unpacking python3-phply (1.2.6-1) ... 77s Selecting previously unselected package python3-pytz. 77s Preparing to unpack .../31-python3-pytz_2025.2-3_all.deb ... 77s Unpacking python3-pytz (2025.2-3) ... 77s Selecting previously unselected package python3-ruamel.yaml.clib. 77s Preparing to unpack .../32-python3-ruamel.yaml.clib_0.2.12+ds-1build1_s390x.deb ... 77s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 77s Selecting previously unselected package python3-ruamel.yaml. 77s Preparing to unpack .../33-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 77s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 77s Selecting previously unselected package python3-translate. 77s Preparing to unpack .../34-python3-translate_3.15.1-1_all.deb ... 77s Unpacking python3-translate (3.15.1-1) ... 77s Selecting previously unselected package python3-tz. 77s Preparing to unpack .../35-python3-tz_2025.2-3_all.deb ... 77s Unpacking python3-tz (2025.2-3) ... 77s Selecting previously unselected package python3-vobject. 77s Preparing to unpack .../36-python3-vobject_0.9.8+dfsg-2_all.deb ... 77s Unpacking python3-vobject (0.9.8+dfsg-2) ... 77s Selecting previously unselected package python3-xapian. 77s Preparing to unpack .../37-python3-xapian_1.4.29-1build1_s390x.deb ... 77s Unpacking python3-xapian (1.4.29-1build1) ... 77s Selecting previously unselected package subversion. 77s Preparing to unpack .../38-subversion_1.14.5-3_s390x.deb ... 77s Unpacking subversion (1.14.5-3) ... 77s Selecting previously unselected package translate-toolkit. 77s Preparing to unpack .../39-translate-toolkit_3.15.1-1_all.deb ... 77s Unpacking translate-toolkit (3.15.1-1) ... 77s Selecting previously unselected package python3-iniparse. 77s Preparing to unpack .../40-python3-iniparse_0.5.1-1_all.deb ... 77s Unpacking python3-iniparse (0.5.1-1) ... 77s Selecting previously unselected package python3-pycountry. 77s Preparing to unpack .../41-python3-pycountry_24.6.1+ds1-1_all.deb ... 77s Unpacking python3-pycountry (24.6.1+ds1-1) ... 77s Setting up libxapian30:s390x (1.4.29-3) ... 77s Setting up python3-rapidfuzz (3.12.2+ds-1) ... 77s Setting up python3-diff-match-patch (20241021-1) ... 77s Setting up python3-aeidon (1.15-2) ... 77s Setting up libutf8proc3:s390x (2.10.0-2) ... 77s Setting up libaspell15:s390x (0.60.8.1-4) ... 77s Setting up python3-charset-normalizer (3.4.2-1) ... 77s Setting up python3-ply (3.11-9) ... 78s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 78s Setting up python3-pytz (2025.2-3) ... 78s Setting up libgomp1:s390x (15.2.0-5ubuntu1) ... 78s Setting up python3-tz (2025.2-3) ... 78s Setting up emacsen-common (3.0.8) ... 78s Setting up python3-cheroot (10.0.1+ds1-4) ... 78s Setting up python3-pycountry (24.6.1+ds1-1) ... 78s Setting up python3-xapian (1.4.29-1build1) ... 78s Setting up python3-cwcwidth (0.1.10-1build1) ... 78s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 78s Setting up python3-mistletoe (1.4.0-1) ... 78s Setting up libexttextcat-data (3.4.7-1ubuntu1) ... 78s Setting up libapr1t64:s390x (1.7.5-1) ... 78s Setting up libxslt1.1:s390x (1.1.43-0.1) ... 78s Setting up python3-dateutil (2.9.0-4) ... 78s Setting up python3-levenshtein (0.27.1-2) ... 78s Setting up libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 78s Setting up python3-soupsieve (2.7-2) ... 79s Setting up python3-iniparse (0.5.1-1) ... 79s Setting up libaprutil1t64:s390x (1.6.3-3ubuntu2) ... 79s Setting up python3-vobject (0.9.8+dfsg-2) ... 79s Setting up gettext (0.23.1-2build2) ... 79s Setting up python3-phply (1.2.6-1) ... 79s Setting up dictionaries-common (1.30.10) ... 79s Setting up libserf-1-1:s390x (1.3.10-3ubuntu1) ... 79s Setting up python3-bs4 (4.13.4-3) ... 80s Setting up python3-lxml:s390x (6.0.1-1) ... 80s Setting up hunspell-en-us (1:2020.12.07-4) ... 80s Setting up libsvn1:s390x (1.14.5-3) ... 80s Setting up libenchant-2-2:s390x (2.8.2+dfsg1-3) ... 80s Setting up subversion (1.14.5-3) ... 80s Setting up python3-enchant (3.3.0~rc1-1) ... 80s Setting up python3-translate (3.15.1-1) ... 80s Setting up translate-toolkit (3.15.1-1) ... 80s Processing triggers for libc-bin (2.42-0ubuntu3) ... 80s Processing triggers for man-db (2.13.1-1) ... 81s Processing triggers for install-info (7.1.1-1ubuntu1) ... 81s Processing triggers for dictionaries-common (1.30.10) ... 82s autopkgtest [17:45:27]: test translate-toolkit: [----------------------- 82s ========= SMOKE TEST: /usr/bin/android2po =========== 82s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 82s 82s Convert Android string files to Gettext PO localization files. See: 82s http://docs.translatehouse.org/projects/translate- 82s toolkit/en/latest/commands/android2po.html for examples and usage 82s instructions. 82s 82s Options: 82s --version show program's version number and exit 82s -h, --help show this help message and exit 82s --manpage output a manpage based on the help 82s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 82s --errorlevel=ERRORLEVEL 82s show errorlevel as: none, message, exception, 82s traceback 82s -i INPUT, --input=INPUT 82s read from INPUT in xml format 82s -x EXCLUDE, --exclude=EXCLUDE 82s exclude names matching EXCLUDE from input paths 82s -o OUTPUT, --output=OUTPUT 82s write to OUTPUT in po, pot formats 82s -t TEMPLATE, --template=TEMPLATE 82s read from TEMPLATE in xml format 82s -S, --timestamp skip conversion if the output file has newer timestamp 82s --duplicates=DUPLICATESTYLE 82s what to do with duplicate strings (identical source 82s text): merge, msgctxt (default: 'msgctxt') 82s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 82s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 82s input files [input files ...] 82s 82s positional arguments: 82s input files 82s 82s options: 82s -h, --help show this help message and exit 82s -d, --tmdb TMDB_FILE translation memory database file (default: tm.db) 82s -s, --import-source-lang SOURCE_LANG 82s source language of translation files (default: en) 82s -t, --import-target-lang TARGET_LANG 82s target language of translation files 82s ========= SMOKE TEST: /usr/bin/csv2po =========== 82s 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] 82s 82s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 82s See: http://docs.translatehouse.org/projects/translate- 82s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 82s 82s Options: 82s --version show program's version number and exit 82s -h, --help show this help message and exit 82s --manpage output a manpage based on the help 82s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 82s --errorlevel=ERRORLEVEL 82s show errorlevel as: none, message, exception, 82s traceback 82s -i INPUT, --input=INPUT 82s read from INPUT in csv format 82s -x EXCLUDE, --exclude=EXCLUDE 82s exclude names matching EXCLUDE from input paths 82s -o OUTPUT, --output=OUTPUT 82s write to OUTPUT in po, pot formats 82s -t TEMPLATE, --template=TEMPLATE 82s read from TEMPLATE in po, pot, pot formats 82s -S, --timestamp skip conversion if the output file has newer timestamp 82s -P, --pot output PO Templates (.pot) rather than PO files (.po) 82s --charset=CHARSET set charset to decode from csv files 82s --columnorder=COLUMNORDER 82s specify the order and position of columns 82s (location,source,target,context) 82s --duplicates=DUPLICATESTYLE 82s what to do with duplicate strings (identical source 82s text): merge, msgctxt (default: 'msgctxt') 82s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 83s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 83s 83s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 83s glossary file. See: http://docs.translatehouse.org/projects/translate- 83s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 83s 83s Options: 83s --version show program's version number and exit 83s -h, --help show this help message and exit 83s --manpage output a manpage based on the help 83s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 83s --errorlevel=ERRORLEVEL 83s show errorlevel as: none, message, exception, 83s traceback 83s -i INPUT, --input=INPUT 83s read from INPUT in csv format 83s -x EXCLUDE, --exclude=EXCLUDE 83s exclude names matching EXCLUDE from input paths 83s -o OUTPUT, --output=OUTPUT 83s write to OUTPUT in tbx format 83s -S, --timestamp skip conversion if the output file has newer timestamp 83s --charset=CHARSET set charset to decode from csv files 83s --columnorder=COLUMNORDER 83s specify the order and position of columns 83s (comment,source,target) 83s ========= SMOKE TEST: /usr/bin/dtd2po =========== 83s 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] 83s 83s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 83s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 83s this module You can convert back to .dtd using po2dtd.py. 83s 83s Options: 83s --version show program's version number and exit 83s -h, --help show this help message and exit 83s --manpage output a manpage based on the help 83s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 83s --errorlevel=ERRORLEVEL 83s show errorlevel as: none, message, exception, 83s traceback 83s -i INPUT, --input=INPUT 83s read from INPUT in dtd format 83s -x EXCLUDE, --exclude=EXCLUDE 83s exclude names matching EXCLUDE from input paths 83s -o OUTPUT, --output=OUTPUT 83s write to OUTPUT in po, pot formats 83s -t TEMPLATE, --template=TEMPLATE 83s read from TEMPLATE in dtd format 83s -S, --timestamp skip conversion if the output file has newer timestamp 83s -P, --pot output PO Templates (.pot) rather than PO files (.po) 83s --duplicates=DUPLICATESTYLE 83s what to do with duplicate strings (identical source 83s text): merge, msgctxt (default: 'msgctxt') 83s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 83s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 83s 83s Convert flat XML files to Gettext PO localization files. See: 83s http://docs.translatehouse.org/projects/translate- 83s toolkit/en/latest/commands/flatxml2po.html for examples and usage 83s instructions. 83s 83s Options: 83s --version show program's version number and exit 83s -h, --help show this help message and exit 83s --manpage output a manpage based on the help 83s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 83s --errorlevel=ERRORLEVEL 83s show errorlevel as: none, message, exception, 83s traceback 83s -i INPUT, --input=INPUT 83s read from INPUT in xml format 83s -x EXCLUDE, --exclude=EXCLUDE 83s exclude names matching EXCLUDE from input paths 83s -o OUTPUT, --output=OUTPUT 83s write to OUTPUT in po, pot formats 83s -S, --timestamp skip conversion if the output file has newer timestamp 83s -r ROOT, --root=ROOT name of the XML root element (default: "root") 83s -v VALUE, --value=VALUE 83s name of the XML value element (default: "str") 83s -k KEY, --key=KEY name of the XML key attribute (default: "key") 83s -n NS, --namespace=NS 83s XML namespace uri (default: None) 83s ========= SMOKE TEST: /usr/bin/html2po =========== 83s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 83s 83s Convert HTML files to Gettext PO localization files. See: 83s http://docs.translatehouse.org/projects/translate- 83s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 83s 83s Options: 83s --version show program's version number and exit 83s -h, --help show this help message and exit 83s --manpage output a manpage based on the help 83s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 83s --errorlevel=ERRORLEVEL 83s show errorlevel as: none, message, exception, 83s traceback 83s -i INPUT, --input=INPUT 83s read from INPUT in htm, html, xhtml formats 83s -x EXCLUDE, --exclude=EXCLUDE 83s exclude names matching EXCLUDE from input paths 83s -o OUTPUT, --output=OUTPUT 83s write to OUTPUT in po, pot formats 83s -S, --timestamp skip conversion if the output file has newer timestamp 83s -P, --pot output PO Templates (.pot) rather than PO files (.po) 83s --keepcomments preserve html comments as translation notes in the 83s output 83s --duplicates=DUPLICATESTYLE 83s what to do with duplicate strings (identical source 83s text): merge, msgctxt (default: 'msgctxt') 83s --multifile=MULTIFILESTYLE 83s how to split po/pot files (single, toplevel or 83s onefile) 83s ========= SMOKE TEST: /usr/bin/ical2po =========== 83s 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] 83s 83s Convert iCalendar files to Gettext PO localization files. See: 83s http://docs.translatehouse.org/projects/translate- 83s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 83s 83s Options: 83s --version show program's version number and exit 83s -h, --help show this help message and exit 83s --manpage output a manpage based on the help 83s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 83s --errorlevel=ERRORLEVEL 83s show errorlevel as: none, message, exception, 83s traceback 83s -i INPUT, --input=INPUT 83s read from INPUT in ics format 83s -x EXCLUDE, --exclude=EXCLUDE 83s exclude names matching EXCLUDE from input paths 83s -o OUTPUT, --output=OUTPUT 83s write to OUTPUT in po, pot formats 83s -t TEMPLATE, --template=TEMPLATE 83s read from TEMPLATE in ics format 83s -S, --timestamp skip conversion if the output file has newer timestamp 83s -P, --pot output PO Templates (.pot) rather than PO files (.po) 83s --duplicates=DUPLICATESTYLE 83s what to do with duplicate strings (identical source 83s text): merge, msgctxt (default: 'msgctxt') 83s ========= SMOKE TEST: /usr/bin/idml2po =========== 83s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 83s 83s Convert IDML files to PO localization files. 83s 83s Options: 83s --version show program's version number and exit 83s -h, --help show this help message and exit 83s --manpage output a manpage based on the help 83s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 83s --errorlevel=ERRORLEVEL 83s show errorlevel as: none, message, exception, 83s traceback 83s -i INPUT, --input=INPUT 83s read from INPUT in idml format 83s -x EXCLUDE, --exclude=EXCLUDE 83s exclude names matching EXCLUDE from input paths 83s -o OUTPUT, --output=OUTPUT 83s write to OUTPUT in po, pot formats 83s -S, --timestamp skip conversion if the output file has newer timestamp 83s ========= SMOKE TEST: /usr/bin/ini2po =========== 83s 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] 83s 83s Convert .ini files to Gettext PO localization files. See: 83s http://docs.translatehouse.org/projects/translate- 83s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 83s 83s Options: 83s --version show program's version number and exit 83s -h, --help show this help message and exit 83s --manpage output a manpage based on the help 83s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 83s --errorlevel=ERRORLEVEL 83s show errorlevel as: none, message, exception, 83s traceback 83s -i INPUT, --input=INPUT 83s read from INPUT in ini, isl, iss formats 83s -x EXCLUDE, --exclude=EXCLUDE 83s exclude names matching EXCLUDE from input paths 83s -o OUTPUT, --output=OUTPUT 83s write to OUTPUT in po, pot formats 83s -t TEMPLATE, --template=TEMPLATE 83s read from TEMPLATE in ini, isl, iss formats 83s -S, --timestamp skip conversion if the output file has newer timestamp 83s -P, --pot output PO Templates (.pot) rather than PO files (.po) 83s --duplicates=DUPLICATESTYLE 83s what to do with duplicate strings (identical source 83s text): merge, msgctxt (default: 'msgctxt') 83s ========= SMOKE TEST: /usr/bin/json2po =========== 83s 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] 83s 83s Convert JSON files to Gettext PO localization files. See: 83s http://docs.translatehouse.org/projects/translate- 83s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 83s 83s Options: 83s --version show program's version number and exit 83s -h, --help show this help message and exit 83s --manpage output a manpage based on the help 83s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 83s --errorlevel=ERRORLEVEL 83s show errorlevel as: none, message, exception, 83s traceback 83s -i INPUT, --input=INPUT 83s read from INPUT in json format 83s -x EXCLUDE, --exclude=EXCLUDE 83s exclude names matching EXCLUDE from input paths 83s -o OUTPUT, --output=OUTPUT 83s write to OUTPUT in po, pot formats 83s -t TEMPLATE, --template=TEMPLATE 83s read from TEMPLATE in json format 83s -S, --timestamp skip conversion if the output file has newer timestamp 83s -P, --pot output PO Templates (.pot) rather than PO files (.po) 83s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 83s everything) 83s --duplicates=DUPLICATESTYLE 83s what to do with duplicate strings (identical source 83s text): merge, msgctxt (default: 'msgctxt') 83s ========= SMOKE TEST: /usr/bin/md2po =========== 84s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 84s 84s Convert Markdown files to Gettext PO localization files. See: 84s http://docs.translatehouse.org/projects/translate- 84s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 84s 84s Options: 84s --version show program's version number and exit 84s -h, --help show this help message and exit 84s --manpage output a manpage based on the help 84s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 84s --errorlevel=ERRORLEVEL 84s show errorlevel as: none, message, exception, 84s traceback 84s -i INPUT, --input=INPUT 84s read from INPUT in markdown, md, text, txt formats 84s -x EXCLUDE, --exclude=EXCLUDE 84s exclude names matching EXCLUDE from input paths 84s -o OUTPUT, --output=OUTPUT 84s write to OUTPUT in po, pot formats 84s -S, --timestamp skip conversion if the output file has newer timestamp 84s -P, --pot output PO Templates (.pot) rather than PO files (.po) 84s --duplicates=DUPLICATESTYLE 84s what to do with duplicate strings (identical source 84s text): merge, msgctxt (default: 'msgctxt') 84s --multifile=MULTIFILESTYLE 84s how to split po/pot files (single, toplevel or 84s onefile) 84s ========= SMOKE TEST: /usr/bin/moz2po =========== 84s 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] 84s 84s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 84s See: http://docs.translatehouse.org/projects/translate- 84s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 84s 84s Options: 84s --version show program's version number and exit 84s -h, --help show this help message and exit 84s --manpage output a manpage based on the help 84s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 84s --errorlevel=ERRORLEVEL 84s show errorlevel as: none, message, exception, 84s traceback 84s -i INPUT, --input=INPUT 84s read from INPUT in *, dtd, inc, ini, it, js, lang, 84s manifest, properties, rdf formats 84s -x EXCLUDE, --exclude=EXCLUDE 84s exclude names matching EXCLUDE from input paths 84s -o OUTPUT, --output=OUTPUT 84s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 84s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 84s lang.pot, manifest, properties.po, properties.pot, rdf 84s formats 84s -t TEMPLATE, --template=TEMPLATE 84s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 84s manifest, properties, rdf formats 84s -S, --timestamp skip conversion if the output file has newer timestamp 84s -P, --pot output PO Templates (.pot) rather than PO files (.po) 84s --duplicates=DUPLICATESTYLE 84s what to do with duplicate strings (identical source 84s text): merge, msgctxt (default: 'msgctxt') 84s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 84s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 84s 84s Convert Mozilla .lang files to Gettext PO localization files. 84s 84s Options: 84s --version show program's version number and exit 84s -h, --help show this help message and exit 84s --manpage output a manpage based on the help 84s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 84s --errorlevel=ERRORLEVEL 84s show errorlevel as: none, message, exception, 84s traceback 84s -i INPUT, --input=INPUT 84s read from INPUT in lang format 84s -x EXCLUDE, --exclude=EXCLUDE 84s exclude names matching EXCLUDE from input paths 84s -o OUTPUT, --output=OUTPUT 84s write to OUTPUT in po, pot formats 84s -S, --timestamp skip conversion if the output file has newer timestamp 84s -P, --pot output PO Templates (.pot) rather than PO files (.po) 84s --encoding=ENCODING The encoding of the input file (default: UTF-8) 84s --duplicates=DUPLICATESTYLE 84s what to do with duplicate strings (identical source 84s text): merge, msgctxt (default: 'msgctxt') 84s ========= SMOKE TEST: /usr/bin/msghack =========== 84s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 84s This program can be used to alter .po files in ways no sane mind would think about. 84s -o result will be written to FILE 84s --invert invert a po file by switching msgid and msgstr 84s --master join any number of files in a master-formatted catalog 84s --empty empty the contents of the .po file, creating a .pot 84s --append append entries from ref.po that don't exist in file.po 84s 84s Note: It is just a replacement of msghack for backward support. 84s 84s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 84s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 84s 84s Convert OpenDocument (ODF) files to XLIFF localization files. See: 84s http://docs.translatehouse.org/projects/translate- 84s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 84s 84s Options: 84s --version show program's version number and exit 84s -h, --help show this help message and exit 84s --manpage output a manpage based on the help 84s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 84s --errorlevel=ERRORLEVEL 84s show errorlevel as: none, message, exception, 84s traceback 84s -i INPUT, --input=INPUT 84s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 84s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 84s formats 84s -x EXCLUDE, --exclude=EXCLUDE 84s exclude names matching EXCLUDE from input paths 84s -o OUTPUT, --output=OUTPUT 84s write to OUTPUT in xlf, xliff formats 84s -S, --timestamp skip conversion if the output file has newer timestamp 84s ========= SMOKE TEST: /usr/bin/oo2po =========== 84s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 84s 84s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 84s files. See: http://docs.translatehouse.org/projects/translate- 84s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 84s 84s Options: 84s --version show program's version number and exit 84s -h, --help show this help message and exit 84s --manpage output a manpage based on the help 84s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 84s --errorlevel=ERRORLEVEL 84s show errorlevel as: none, message, exception, 84s traceback 84s -i INPUT, --input=INPUT 84s read from INPUT in oo, sdf formats 84s -x EXCLUDE, --exclude=EXCLUDE 84s exclude names matching EXCLUDE from input paths 84s -o OUTPUT, --output=OUTPUT 84s write to OUTPUT in po, pot formats 84s -S, --timestamp skip conversion if the output file has newer timestamp 84s -P, --pot output PO Templates (.pot) rather than PO files (.po) 84s -l LANG, --language=LANG 84s set target language to extract from oo file (e.g. af- 84s ZA) 84s --source-language=LANG 84s set source language code (default en-US) 84s --nonrecursiveinput don't treat the input oo as a recursive store 84s --duplicates=DUPLICATESTYLE 84s what to do with duplicate strings (identical source 84s text): merge, msgctxt (default: 'msgctxt') 84s --multifile=MULTIFILESTYLE 84s how to split po/pot files (single, toplevel or 84s onefile) 84s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 84s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 84s 84s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 84s files. See: http://docs.translatehouse.org/projects/translate- 84s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 84s 84s Options: 84s --version show program's version number and exit 84s -h, --help show this help message and exit 84s --manpage output a manpage based on the help 84s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 84s --errorlevel=ERRORLEVEL 84s show errorlevel as: none, message, exception, 84s traceback 84s -i INPUT, --input=INPUT 84s read from INPUT in oo, sdf formats 84s -x EXCLUDE, --exclude=EXCLUDE 84s exclude names matching EXCLUDE from input paths 84s -o OUTPUT, --output=OUTPUT 84s write to OUTPUT in xlf, xliff formats 84s -S, --timestamp skip conversion if the output file has newer timestamp 84s -l LANG, --language=LANG 84s set target language to extract from oo file (e.g. af- 84s ZA) 84s --source-language=LANG 84s set source language code (default en-US) 84s --nonrecursiveinput don't treat the input oo as a recursive store 84s --duplicates=DUPLICATESTYLE 84s what to do with duplicate strings (identical source 84s text): merge, msgctxt (default: 'msgctxt') 84s --multifile=MULTIFILESTYLE 84s how to split po/pot files (single, toplevel or 84s onefile) 84s ========= SMOKE TEST: /usr/bin/php2po =========== 85s 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] 85s 85s Convert PHP localization files to Gettext PO localization files. See: 85s http://docs.translatehouse.org/projects/translate- 85s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 85s 85s Options: 85s --version show program's version number and exit 85s -h, --help show this help message and exit 85s --manpage output a manpage based on the help 85s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 85s --errorlevel=ERRORLEVEL 85s show errorlevel as: none, message, exception, 85s traceback 85s -i INPUT, --input=INPUT 85s read from INPUT in html, php formats 85s -x EXCLUDE, --exclude=EXCLUDE 85s exclude names matching EXCLUDE from input paths 85s -o OUTPUT, --output=OUTPUT 85s write to OUTPUT in po, pot formats 85s -t TEMPLATE, --template=TEMPLATE 85s read from TEMPLATE in html, php formats 85s -S, --timestamp skip conversion if the output file has newer timestamp 85s -P, --pot output PO Templates (.pot) rather than PO files (.po) 85s --duplicates=DUPLICATESTYLE 85s what to do with duplicate strings (identical source 85s text): merge, msgctxt (default: 'msgctxt') 85s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 85s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 85s 85s Convert PHP format .po files to Python format .po files. 85s 85s Options: 85s --version show program's version number and exit 85s -h, --help show this help message and exit 85s --manpage output a manpage based on the help 85s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 85s --errorlevel=ERRORLEVEL 85s show errorlevel as: none, message, exception, 85s traceback 85s -i INPUT, --input=INPUT 85s read from INPUT in po, pot formats 85s -x EXCLUDE, --exclude=EXCLUDE 85s exclude names matching EXCLUDE from input paths 85s -o OUTPUT, --output=OUTPUT 85s write to OUTPUT in po, pot formats 85s -S, --timestamp skip conversion if the output file has newer timestamp 85s ========= SMOKE TEST: /usr/bin/po2csv =========== 85s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 85s 85s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 85s See: http://docs.translatehouse.org/projects/translate- 85s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 85s 85s Options: 85s --version show program's version number and exit 85s -h, --help show this help message and exit 85s --manpage output a manpage based on the help 85s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 85s --errorlevel=ERRORLEVEL 85s show errorlevel as: none, message, exception, 85s traceback 85s -i INPUT, --input=INPUT 85s read from INPUT in po, pot formats 85s -x EXCLUDE, --exclude=EXCLUDE 85s exclude names matching EXCLUDE from input paths 85s -o OUTPUT, --output=OUTPUT 85s write to OUTPUT in csv format 85s -S, --timestamp skip conversion if the output file has newer timestamp 85s --columnorder=COLUMNORDER 85s specify the order and position of columns 85s (location,source,target,context) 85s ========= SMOKE TEST: /usr/bin/po2dtd =========== 85s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 85s 85s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 85s Conversion is either done using a template plus PO file or just using the 85s .po file. 85s 85s Options: 85s --version show program's version number and exit 85s -h, --help show this help message and exit 85s --manpage output a manpage based on the help 85s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 85s --errorlevel=ERRORLEVEL 85s show errorlevel as: none, message, exception, 85s traceback 85s -i INPUT, --input=INPUT 85s read from INPUT in po, pot formats 85s -x EXCLUDE, --exclude=EXCLUDE 85s exclude names matching EXCLUDE from input paths 85s -o OUTPUT, --output=OUTPUT 85s write to OUTPUT in dtd format 85s -t TEMPLATE, --template=TEMPLATE 85s read from TEMPLATE in dtd format 85s -S, --timestamp skip conversion if the output file has newer timestamp 85s --threshold=PERCENT only convert files where the translation completion is 85s above PERCENT 85s --fuzzy use translations marked fuzzy 85s --nofuzzy don't use translations marked fuzzy (default) 85s --removeuntranslated remove untranslated strings from output 85s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 85s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 85s 85s Convert Gettext PO localization files to flat XML files. See: 85s http://docs.translatehouse.org/projects/translate- 85s toolkit/en/latest/commands/flatxml2po.html for examples and usage 85s instructions. 85s 85s Options: 85s --version show program's version number and exit 85s -h, --help show this help message and exit 85s --manpage output a manpage based on the help 85s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 85s --errorlevel=ERRORLEVEL 85s show errorlevel as: none, message, exception, 85s traceback 85s -i INPUT, --input=INPUT 85s read from INPUT in po, pot formats 85s -x EXCLUDE, --exclude=EXCLUDE 85s exclude names matching EXCLUDE from input paths 85s -o OUTPUT, --output=OUTPUT 85s write to OUTPUT in xml format 85s -t TEMPLATE, --template=TEMPLATE 85s read from TEMPLATE in xml format 85s -S, --timestamp skip conversion if the output file has newer timestamp 85s -r ROOT, --root=ROOT name of the XML root element (default: "root") 85s -v VALUE, --value=VALUE 85s name of the XML value element (default: "str") 85s -k KEY, --key=KEY name of the XML key attribute (default: "key") 85s -n NS, --namespace=NS 85s XML namespace uri (default: None) 85s -w INDENT, --indent=INDENT 85s indent width in spaces, 0 for no indent (default: 2) 85s ========= SMOKE TEST: /usr/bin/po2html =========== 85s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 85s 85s Translate HTML files using Gettext PO localization files. See: 85s http://docs.translatehouse.org/projects/translate- 85s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 85s 85s Options: 85s --version show program's version number and exit 85s -h, --help show this help message and exit 85s --manpage output a manpage based on the help 85s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 85s --errorlevel=ERRORLEVEL 85s show errorlevel as: none, message, exception, 85s traceback 85s -i INPUT, --input=INPUT 85s read from INPUT in po, pot formats 85s -x EXCLUDE, --exclude=EXCLUDE 85s exclude names matching EXCLUDE from input paths 85s -o OUTPUT, --output=OUTPUT 85s write to OUTPUT in htm, html, xhtml formats 85s -t TEMPLATE, --template=TEMPLATE 85s read from TEMPLATE in htm, html, xhtml formats 85s -S, --timestamp skip conversion if the output file has newer timestamp 85s --threshold=PERCENT only convert files where the translation completion is 85s above PERCENT 85s --fuzzy use translations marked fuzzy 85s --nofuzzy don't use translations marked fuzzy (default) 85s ========= SMOKE TEST: /usr/bin/po2ical =========== 85s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 85s 85s Convert Gettext PO localization files to iCalendar files. See: 85s http://docs.translatehouse.org/projects/translate- 85s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 85s 85s Options: 85s --version show program's version number and exit 85s -h, --help show this help message and exit 85s --manpage output a manpage based on the help 85s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 85s --errorlevel=ERRORLEVEL 85s show errorlevel as: none, message, exception, 85s traceback 85s -i INPUT, --input=INPUT 85s read from INPUT in po, pot formats 85s -x EXCLUDE, --exclude=EXCLUDE 85s exclude names matching EXCLUDE from input paths 85s -o OUTPUT, --output=OUTPUT 85s write to OUTPUT in ics format 85s -t TEMPLATE, --template=TEMPLATE 85s read from TEMPLATE in ics format 85s -S, --timestamp skip conversion if the output file has newer timestamp 85s --threshold=PERCENT only convert files where the translation completion is 85s above PERCENT 85s --fuzzy use translations marked fuzzy 85s --nofuzzy don't use translations marked fuzzy (default) 85s ========= SMOKE TEST: /usr/bin/po2idml =========== 85s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 85s 85s Takes an IDML template file and a PO file containing translations of strings 85s in the IDML template. It creates a new IDML file using the translations of the 85s PO file. 85s 85s Options: 85s --version show program's version number and exit 85s -h, --help show this help message and exit 85s --manpage output a manpage based on the help 85s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 85s --errorlevel=ERRORLEVEL 85s show errorlevel as: none, message, exception, 85s traceback 85s -i INPUT, --input=INPUT 85s read from INPUT in po, pot formats 85s -x EXCLUDE, --exclude=EXCLUDE 85s exclude names matching EXCLUDE from input paths 85s -o OUTPUT, --output=OUTPUT 85s write to OUTPUT in idml format 85s -t TEMPLATE, --template=TEMPLATE 85s read from TEMPLATE in idml format 85s -S, --timestamp skip conversion if the output file has newer timestamp 85s ========= SMOKE TEST: /usr/bin/po2ini =========== 85s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 85s 85s Convert Gettext PO localization files to .ini files. See: 85s http://docs.translatehouse.org/projects/translate- 85s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 85s 85s Options: 85s --version show program's version number and exit 85s -h, --help show this help message and exit 85s --manpage output a manpage based on the help 85s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 85s --errorlevel=ERRORLEVEL 85s show errorlevel as: none, message, exception, 85s traceback 85s -i INPUT, --input=INPUT 85s read from INPUT in po, pot formats 85s -x EXCLUDE, --exclude=EXCLUDE 85s exclude names matching EXCLUDE from input paths 85s -o OUTPUT, --output=OUTPUT 85s write to OUTPUT in ini, isl formats 85s -t TEMPLATE, --template=TEMPLATE 85s read from TEMPLATE in ini, isl formats 85s -S, --timestamp skip conversion if the output file has newer timestamp 85s --threshold=PERCENT only convert files where the translation completion is 85s above PERCENT 85s --fuzzy use translations marked fuzzy 85s --nofuzzy don't use translations marked fuzzy (default) 86s ========= SMOKE TEST: /usr/bin/po2json =========== 86s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 86s 86s Convert Gettext PO localization files to JSON files. See: 86s http://docs.translatehouse.org/projects/translate- 86s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 86s 86s Options: 86s --version show program's version number and exit 86s -h, --help show this help message and exit 86s --manpage output a manpage based on the help 86s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 86s --errorlevel=ERRORLEVEL 86s show errorlevel as: none, message, exception, 86s traceback 86s -i INPUT, --input=INPUT 86s read from INPUT in po, pot formats 86s -x EXCLUDE, --exclude=EXCLUDE 86s exclude names matching EXCLUDE from input paths 86s -o OUTPUT, --output=OUTPUT 86s write to OUTPUT in json format 86s -t TEMPLATE, --template=TEMPLATE 86s read from TEMPLATE in json format 86s -S, --timestamp skip conversion if the output file has newer timestamp 86s --threshold=PERCENT only convert files where the translation completion is 86s above PERCENT 86s --fuzzy use translations marked fuzzy 86s --nofuzzy don't use translations marked fuzzy (default) 86s --removeuntranslated remove untranslated strings from output 86s ========= SMOKE TEST: /usr/bin/po2md =========== 86s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 86s 86s Translate Markdown files using Gettext PO localization files. See: 86s http://docs.translatehouse.org/projects/translate- 86s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 86s 86s Options: 86s --version show program's version number and exit 86s -h, --help show this help message and exit 86s --manpage output a manpage based on the help 86s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 86s --errorlevel=ERRORLEVEL 86s show errorlevel as: none, message, exception, 86s traceback 86s -i INPUT, --input=INPUT 86s read from INPUT in po, pot formats 86s -x EXCLUDE, --exclude=EXCLUDE 86s exclude names matching EXCLUDE from input paths 86s -o OUTPUT, --output=OUTPUT 86s write to OUTPUT in markdown, md, text, txt formats 86s -t TEMPLATE, --template=TEMPLATE 86s read from TEMPLATE in markdown, md, text, txt formats 86s -S, --timestamp skip conversion if the output file has newer timestamp 86s -m MAXLENGTH, --maxlinelength=MAXLENGTH 86s reflow (word wrap) the output to the given maximum 86s line length. set to 0 to disable 86s --threshold=PERCENT only convert files where the translation completion is 86s above PERCENT 86s --fuzzy use translations marked fuzzy 86s --nofuzzy don't use translations marked fuzzy (default) 86s ========= SMOKE TEST: /usr/bin/po2moz =========== 86s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 86s 86s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 86s See: http://docs.translatehouse.org/projects/translate- 86s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 86s 86s Options: 86s --version show program's version number and exit 86s -h, --help show this help message and exit 86s --manpage output a manpage based on the help 86s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 86s --errorlevel=ERRORLEVEL 86s show errorlevel as: none, message, exception, 86s traceback 86s -i INPUT, --input=INPUT 86s read from INPUT in *, dtd.po, dtd.pot, inc.po, 86s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 86s lang.pot, manifest, properties.po, properties.pot, rdf 86s formats 86s -x EXCLUDE, --exclude=EXCLUDE 86s exclude names matching EXCLUDE from input paths 86s -o OUTPUT, --output=OUTPUT 86s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 86s manifest, properties, rdf formats 86s -t TEMPLATE, --template=TEMPLATE 86s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 86s manifest, properties, rdf formats 86s -S, --timestamp skip conversion if the output file has newer timestamp 86s -l LOCALE, --locale=LOCALE 86s set output locale (required as this sets the directory 86s names) 86s --threshold=PERCENT only convert files where the translation completion is 86s above PERCENT 86s --fuzzy use translations marked fuzzy 86s --nofuzzy don't use translations marked fuzzy (default) 86s --removeuntranslated remove untranslated strings from output 86s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 86s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 86s 86s Convert Gettext PO localization files to Mozilla .lang files. 86s 86s Options: 86s --version show program's version number and exit 86s -h, --help show this help message and exit 86s --manpage output a manpage based on the help 86s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 86s --errorlevel=ERRORLEVEL 86s show errorlevel as: none, message, exception, 86s traceback 86s -i INPUT, --input=INPUT 86s read from INPUT in po, pot formats 86s -x EXCLUDE, --exclude=EXCLUDE 86s exclude names matching EXCLUDE from input paths 86s -o OUTPUT, --output=OUTPUT 86s write to OUTPUT in lang format 86s -t TEMPLATE, --template=TEMPLATE 86s read from TEMPLATE in lang format 86s -S, --timestamp skip conversion if the output file has newer timestamp 86s --mark-active mark the file as active 86s --threshold=PERCENT only convert files where the translation completion is 86s above PERCENT 86s --fuzzy use translations marked fuzzy 86s --nofuzzy don't use translations marked fuzzy (default) 87s ========= SMOKE TEST: /usr/bin/po2oo =========== 87s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 87s 87s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 87s file. See: http://docs.translatehouse.org/projects/translate- 87s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 87s 87s Options: 87s --version show program's version number and exit 87s -h, --help show this help message and exit 87s --manpage output a manpage based on the help 87s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 87s --errorlevel=ERRORLEVEL 87s show errorlevel as: none, message, exception, 87s traceback 87s -i INPUT, --input=INPUT 87s read from INPUT in po, pot, xlf, xliff formats 87s -x EXCLUDE, --exclude=EXCLUDE 87s exclude names matching EXCLUDE from input paths 87s -o OUTPUT, --output=OUTPUT 87s write to OUTPUT in oo, sdf formats 87s -t TEMPLATE, --template=TEMPLATE 87s read from TEMPLATE in oo, sdf formats 87s -S, --timestamp skip conversion if the output file has newer timestamp 87s -l LANG, --language=LANG 87s set target language code (e.g. af-ZA) [required] 87s --source-language=LANG 87s set source language code (default en-US) 87s -T, --keeptimestamp don't change the timestamps of the strings 87s --nonrecursiveoutput don't treat the output oo as a recursive store 87s --nonrecursivetemplate 87s don't treat the template oo as a recursive store 87s --skipsource don't output the source language, but fallback to it 87s where needed 87s --filteraction=ACTION 87s action on pofilter failure: none (default), warn, 87s exclude-serious, exclude-all 87s --threshold=PERCENT only convert files where the translation completion is 87s above PERCENT 87s --fuzzy use translations marked fuzzy 87s --nofuzzy don't use translations marked fuzzy (default) 87s --multifile=MULTIFILESTYLE 87s how to split po/pot files (single, toplevel or 87s onefile) 87s ========= SMOKE TEST: /usr/bin/po2php =========== 87s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 87s 87s Convert Gettext PO localization files to PHP localization files. See: 87s http://docs.translatehouse.org/projects/translate- 87s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 87s 87s Options: 87s --version show program's version number and exit 87s -h, --help show this help message and exit 87s --manpage output a manpage based on the help 87s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 87s --errorlevel=ERRORLEVEL 87s show errorlevel as: none, message, exception, 87s traceback 87s -i INPUT, --input=INPUT 87s read from INPUT in po, pot formats 87s -x EXCLUDE, --exclude=EXCLUDE 87s exclude names matching EXCLUDE from input paths 87s -o OUTPUT, --output=OUTPUT 87s write to OUTPUT in html, php formats 87s -t TEMPLATE, --template=TEMPLATE 87s read from TEMPLATE in html, php formats 87s -S, --timestamp skip conversion if the output file has newer timestamp 87s --threshold=PERCENT only convert files where the translation completion is 87s above PERCENT 87s --fuzzy use translations marked fuzzy 87s --nofuzzy don't use translations marked fuzzy (default) 87s ========= SMOKE TEST: /usr/bin/po2prop =========== 87s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 87s 87s Convert Gettext PO localization files to Java/Mozilla .properties files. 87s See: http://docs.translatehouse.org/projects/translate- 87s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 87s 87s Options: 87s --version show program's version number and exit 87s -h, --help show this help message and exit 87s --manpage output a manpage based on the help 87s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 87s --errorlevel=ERRORLEVEL 87s show errorlevel as: none, message, exception, 87s traceback 87s -i INPUT, --input=INPUT 87s read from INPUT in po, pot formats 87s -x EXCLUDE, --exclude=EXCLUDE 87s exclude names matching EXCLUDE from input paths 87s -o OUTPUT, --output=OUTPUT 87s write to OUTPUT in lang, properties, strings formats 87s -t TEMPLATE, --template=TEMPLATE 87s read from TEMPLATE in lang, properties, strings 87s formats 87s -S, --timestamp skip conversion if the output file has newer timestamp 87s --personality=TYPE override the input file format: java, java-utf8, java- 87s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 87s strings, strings-utf8, joomla (for .properties files, 87s default: java) 87s --encoding=ENCODING override the encoding set by the personality 87s --threshold=PERCENT only convert files where the translation completion is 87s above PERCENT 87s --fuzzy use translations marked fuzzy 87s --nofuzzy don't use translations marked fuzzy (default) 87s --removeuntranslated remove untranslated strings from output 87s ========= SMOKE TEST: /usr/bin/po2rc =========== 87s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 87s 87s Convert Gettext PO localization files back to Windows Resource (.rc) files. 87s See: http://docs.translatehouse.org/projects/translate- 87s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 87s 87s Options: 87s --version show program's version number and exit 87s -h, --help show this help message and exit 87s --manpage output a manpage based on the help 87s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 87s --errorlevel=ERRORLEVEL 87s show errorlevel as: none, message, exception, 87s traceback 87s -i INPUT, --input=INPUT 87s read from INPUT in po, pot formats 87s -x EXCLUDE, --exclude=EXCLUDE 87s exclude names matching EXCLUDE from input paths 87s -o OUTPUT, --output=OUTPUT 87s write to OUTPUT in rc format 87s -t TEMPLATE, --template=TEMPLATE 87s read from TEMPLATE in rc format 87s -S, --timestamp skip conversion if the output file has newer timestamp 87s --charset=CHARSET charset to use to decode the template RC files 87s (default: utf-8) 87s --charset-output=CHARSET 87s charset to use to encode the RC file (default: auto) 87s -l LANG, --lang=LANG LANG entry 87s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 87s --threshold=PERCENT only convert files where the translation completion is 87s above PERCENT 87s --fuzzy use translations marked fuzzy 87s --nofuzzy don't use translations marked fuzzy (default) 87s ========= SMOKE TEST: /usr/bin/po2resx =========== 87s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 87s 87s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 87s http://docs.translatehouse.org/projects/translate- 87s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 87s 87s Options: 87s --version show program's version number and exit 87s -h, --help show this help message and exit 87s --manpage output a manpage based on the help 87s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 87s --errorlevel=ERRORLEVEL 87s show errorlevel as: none, message, exception, 87s traceback 87s -i INPUT, --input=INPUT 87s read from INPUT in po, pot formats 87s -x EXCLUDE, --exclude=EXCLUDE 87s exclude names matching EXCLUDE from input paths 87s -o OUTPUT, --output=OUTPUT 87s write to OUTPUT in resx format 87s -t TEMPLATE, --template=TEMPLATE 87s read from TEMPLATE in resx format 87s -S, --timestamp skip conversion if the output file has newer timestamp 87s --fuzzy use translations marked fuzzy 87s --nofuzzy don't use translations marked fuzzy (default) 87s ========= SMOKE TEST: /usr/bin/po2sub =========== 87s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 87s 87s Convert Gettext PO localization files to subtitle files. See: 87s http://docs.translatehouse.org/projects/translate- 87s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 87s 87s Options: 87s --version show program's version number and exit 87s -h, --help show this help message and exit 87s --manpage output a manpage based on the help 87s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 87s --errorlevel=ERRORLEVEL 87s show errorlevel as: none, message, exception, 87s traceback 87s -i INPUT, --input=INPUT 87s read from INPUT in po, pot formats 87s -x EXCLUDE, --exclude=EXCLUDE 87s exclude names matching EXCLUDE from input paths 87s -o OUTPUT, --output=OUTPUT 87s write to OUTPUT in ass, srt, ssa, sub formats 87s -t TEMPLATE, --template=TEMPLATE 87s read from TEMPLATE in ass, srt, ssa, sub formats 87s -S, --timestamp skip conversion if the output file has newer timestamp 87s --threshold=PERCENT only convert files where the translation completion is 87s above PERCENT 87s --fuzzy use translations marked fuzzy 87s --nofuzzy don't use translations marked fuzzy (default) 87s ========= SMOKE TEST: /usr/bin/po2symb =========== 87s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 87s 87s Convert Gettext PO localization files to Symbian translation files. See: 87s http://docs.translatehouse.org/projects/translate- 87s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 87s 87s Options: 87s --version show program's version number and exit 87s -h, --help show this help message and exit 87s --manpage output a manpage based on the help 87s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 87s --errorlevel=ERRORLEVEL 87s show errorlevel as: none, message, exception, 87s traceback 87s -i INPUT, --input=INPUT 87s read from INPUT in po, pot formats 87s -x EXCLUDE, --exclude=EXCLUDE 87s exclude names matching EXCLUDE from input paths 87s -o OUTPUT, --output=OUTPUT 87s write to OUTPUT in r0 format 87s -t TEMPLATE, --template=TEMPLATE 87s read from TEMPLATE in 87s -S, --timestamp skip conversion if the output file has newer timestamp 87s --duplicates=DUPLICATESTYLE 87s what to do with duplicate strings (identical source 87s text): merge, msgctxt (default: 'msgctxt') 87s ========= SMOKE TEST: /usr/bin/po2tiki =========== 87s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 87s 87s Convert Gettext PO files to TikiWiki's language.php files. See: 87s http://docs.translatehouse.org/projects/translate- 87s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 87s 87s Options: 87s --version show program's version number and exit 87s -h, --help show this help message and exit 87s --manpage output a manpage based on the help 87s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 87s --errorlevel=ERRORLEVEL 87s show errorlevel as: none, message, exception, 87s traceback 87s -i INPUT, --input=INPUT 87s read from INPUT in po, pot formats 87s -x EXCLUDE, --exclude=EXCLUDE 87s exclude names matching EXCLUDE from input paths 87s -o OUTPUT, --output=OUTPUT 87s write to OUTPUT in tiki format 87s -S, --timestamp skip conversion if the output file has newer timestamp 87s ========= SMOKE TEST: /usr/bin/po2tmx =========== 88s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 88s 88s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 88s file. See: http://docs.translatehouse.org/projects/translate- 88s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 88s 88s Options: 88s --version show program's version number and exit 88s -h, --help show this help message and exit 88s --manpage output a manpage based on the help 88s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 88s --errorlevel=ERRORLEVEL 88s show errorlevel as: none, message, exception, 88s traceback 88s -i INPUT, --input=INPUT 88s read from INPUT in po, pot formats 88s -x EXCLUDE, --exclude=EXCLUDE 88s exclude names matching EXCLUDE from input paths 88s -o OUTPUT, --output=OUTPUT 88s write to OUTPUT in tmx format 88s -S, --timestamp skip conversion if the output file has newer timestamp 88s -l LANG, --language=LANG 88s set target language code (e.g. af-ZA) [required] 88s --source-language=LANG 88s set source language code (default: en) 88s --comments=COMMENT set default comment import: none, source, type or 88s others (default: none) 88s ========= SMOKE TEST: /usr/bin/po2ts =========== 88s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 88s 88s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 88s http://docs.translatehouse.org/projects/translate- 88s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 88s 88s Options: 88s --version show program's version number and exit 88s -h, --help show this help message and exit 88s --manpage output a manpage based on the help 88s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 88s --errorlevel=ERRORLEVEL 88s show errorlevel as: none, message, exception, 88s traceback 88s -i INPUT, --input=INPUT 88s read from INPUT in po, pot formats 88s -x EXCLUDE, --exclude=EXCLUDE 88s exclude names matching EXCLUDE from input paths 88s -o OUTPUT, --output=OUTPUT 88s write to OUTPUT in ts format 88s -t TEMPLATE, --template=TEMPLATE 88s read from TEMPLATE in ts format 88s -S, --timestamp skip conversion if the output file has newer timestamp 88s -c CONTEXT, --context=CONTEXT 88s use supplied context instead of the one in the .po 88s file comment 88s ========= SMOKE TEST: /usr/bin/po2txt =========== 88s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 88s 88s Convert Gettext PO localization files to plain text (.txt) files. See: 88s http://docs.translatehouse.org/projects/translate- 88s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 88s 88s Options: 88s --version show program's version number and exit 88s -h, --help show this help message and exit 88s --manpage output a manpage based on the help 88s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 88s --errorlevel=ERRORLEVEL 88s show errorlevel as: none, message, exception, 88s traceback 88s -i INPUT, --input=INPUT 88s read from INPUT in po, pot, xlf, xliff formats 88s -x EXCLUDE, --exclude=EXCLUDE 88s exclude names matching EXCLUDE from input paths 88s -o OUTPUT, --output=OUTPUT 88s write to OUTPUT in txt format 88s -t TEMPLATE, --template=TEMPLATE 88s read from TEMPLATE in txt format 88s -S, --timestamp skip conversion if the output file has newer timestamp 88s --encoding=ENCODING The encoding of the template file (default: UTF-8) 88s -w WRAP, --wrap=WRAP set number of columns to wrap text at 88s --threshold=PERCENT only convert files where the translation completion is 88s above PERCENT 88s --fuzzy use translations marked fuzzy 88s --nofuzzy don't use translations marked fuzzy (default) 88s ========= SMOKE TEST: /usr/bin/po2web2py =========== 88s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 88s 88s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 88s http://docs.translatehouse.org/projects/translate- 88s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 88s 88s Options: 88s --version show program's version number and exit 88s -h, --help show this help message and exit 88s --manpage output a manpage based on the help 88s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 88s --errorlevel=ERRORLEVEL 88s show errorlevel as: none, message, exception, 88s traceback 88s -i INPUT, --input=INPUT 88s read from INPUT in po, pot formats 88s -x EXCLUDE, --exclude=EXCLUDE 88s exclude names matching EXCLUDE from input paths 88s -o OUTPUT, --output=OUTPUT 88s write to OUTPUT in py format 88s -S, --timestamp skip conversion if the output file has newer timestamp 88s --threshold=PERCENT only convert files where the translation completion is 88s above PERCENT 88s --fuzzy use translations marked fuzzy 88s --nofuzzy don't use translations marked fuzzy (default) 88s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 88s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 88s 88s Convert Gettext PO localization files to a Wordfast translation memory file. 88s See: http://docs.translatehouse.org/projects/translate- 88s toolkit/en/latest/commands/po2wordfast.html for examples and usage 88s instructions. 88s 88s Options: 88s --version show program's version number and exit 88s -h, --help show this help message and exit 88s --manpage output a manpage based on the help 88s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 88s --errorlevel=ERRORLEVEL 88s show errorlevel as: none, message, exception, 88s traceback 88s -i INPUT, --input=INPUT 88s read from INPUT in po, pot formats 88s -x EXCLUDE, --exclude=EXCLUDE 88s exclude names matching EXCLUDE from input paths 88s -o OUTPUT, --output=OUTPUT 88s write to OUTPUT in txt format 88s -S, --timestamp skip conversion if the output file has newer timestamp 88s -l LANG, --language=LANG 88s set target language code (e.g. af-ZA) [required] 88s --source-language=LANG 88s set source language code (default: en) 88s ========= SMOKE TEST: /usr/bin/po2xliff =========== 88s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 88s 88s Convert Gettext PO localization files to XLIFF localization files. See: 88s http://docs.translatehouse.org/projects/translate- 88s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 88s 88s Options: 88s --version show program's version number and exit 88s -h, --help show this help message and exit 88s --manpage output a manpage based on the help 88s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 88s --errorlevel=ERRORLEVEL 88s show errorlevel as: none, message, exception, 88s traceback 88s -i INPUT, --input=INPUT 88s read from INPUT in po, pot formats 88s -x EXCLUDE, --exclude=EXCLUDE 88s exclude names matching EXCLUDE from input paths 88s -o OUTPUT, --output=OUTPUT 88s write to OUTPUT in xlf, xliff formats 88s -t TEMPLATE, --template=TEMPLATE 88s read from TEMPLATE in xlf, xliff formats 88s -S, --timestamp skip conversion if the output file has newer timestamp 88s ========= SMOKE TEST: /usr/bin/po2yaml =========== 88s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 88s 88s Convert Gettext PO localization files to YAML files. See: 88s http://docs.translatehouse.org/projects/translate- 88s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 88s 88s Options: 88s --version show program's version number and exit 88s -h, --help show this help message and exit 88s --manpage output a manpage based on the help 88s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 88s --errorlevel=ERRORLEVEL 88s show errorlevel as: none, message, exception, 88s traceback 88s -i INPUT, --input=INPUT 88s read from INPUT in po, pot formats 88s -x EXCLUDE, --exclude=EXCLUDE 88s exclude names matching EXCLUDE from input paths 88s -o OUTPUT, --output=OUTPUT 88s write to OUTPUT in yaml, yml formats 88s -t TEMPLATE, --template=TEMPLATE 88s read from TEMPLATE in yaml, yml formats 88s -S, --timestamp skip conversion if the output file has newer timestamp 88s --threshold=PERCENT only convert files where the translation completion is 88s above PERCENT 88s --fuzzy use translations marked fuzzy 88s --nofuzzy don't use translations marked fuzzy (default) 89s ========= SMOKE TEST: /usr/bin/poclean =========== 89s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 89s 89s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 89s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 89s produces the target file with only the target text in from a text version of 89s the RTF. 89s 89s Options: 89s --version show program's version number and exit 89s -h, --help show this help message and exit 89s --manpage output a manpage based on the help 89s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 89s --errorlevel=ERRORLEVEL 89s show errorlevel as: none, message, exception, 89s traceback 89s -i INPUT, --input=INPUT 89s read from INPUT in po, pot, xlf, xliff formats 89s -x EXCLUDE, --exclude=EXCLUDE 89s exclude names matching EXCLUDE from input paths 89s -o OUTPUT, --output=OUTPUT 89s write to OUTPUT in po, pot, xlf, xliff formats 89s -S, --timestamp skip conversion if the output file has newer timestamp 89s ========= SMOKE TEST: /usr/bin/pocompendium =========== 89s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 89s The first parameter is the output file, standard output if the output file is '-'. 89s Any number of directories may be specified for input files. 89s Options: 89s --invert|v Creates an inverse compendium with msgid and msgstr swapped 89s --errors|e Only ouput msg bundles that have errors 89s --correct|c Only ouput msg bundles that are correctly translated 89s --ignore-case|i Drops all strings to lowercase 89s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 89s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 89s --strip-accel-under|-su Strip all underscore (_) accelerator characters 89s ========= SMOKE TEST: /usr/bin/pocompile =========== 89s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 89s 89s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 89s Object) files. See: http://docs.translatehouse.org/projects/translate- 89s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 89s 89s Options: 89s --version show program's version number and exit 89s -h, --help show this help message and exit 89s --manpage output a manpage based on the help 89s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 89s --errorlevel=ERRORLEVEL 89s show errorlevel as: none, message, exception, 89s traceback 89s -i INPUT, --input=INPUT 89s read from INPUT in po, pot, xlf, xliff formats 89s -x EXCLUDE, --exclude=EXCLUDE 89s exclude names matching EXCLUDE from input paths 89s -o OUTPUT, --output=OUTPUT 89s write to OUTPUT in mo format 89s -S, --timestamp skip conversion if the output file has newer timestamp 89s --fuzzy use translations marked fuzzy 89s --nofuzzy don't use translations marked fuzzy (default) 89s ========= SMOKE TEST: /usr/bin/poconflicts =========== 89s Usage: poconflicts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-I|--ignore-case] [-v|--invert] [--accelerator ACCELERATORS] 89s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 89s 89s Conflict finder for Gettext PO localization files. See: 89s http://docs.translatehouse.org/projects/translate- 89s toolkit/en/latest/commands/poconflicts.html for examples and usage 89s instructions. 89s 89s Options: 89s --version show program's version number and exit 89s -h, --help show this help message and exit 89s --manpage output a manpage based on the help 89s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 89s --errorlevel=ERRORLEVEL 89s show errorlevel as: none, message, exception, 89s traceback 89s -i INPUT, --input=INPUT 89s read from INPUT in po format 89s -x EXCLUDE, --exclude=EXCLUDE 89s exclude names matching EXCLUDE from input paths 89s -o OUTPUT, --output=OUTPUT 89s write to OUTPUT in po format 89s -I, --ignore-case ignore case distinctions 89s -v, --invert invert the conflicts thus extracting conflicting 89s destination words 89s --accelerator=ACCELERATORS 89s ignores the given accelerator characters when matching 89s ========= SMOKE TEST: /usr/bin/pocount =========== 89s usage: pocount [-h] [--incomplete] [--full | --csv | --short | 89s --short-strings | --short-words] [--no-color] 89s files [files ...] 89s 89s positional arguments: 89s files 89s 89s options: 89s -h, --help show this help message and exit 89s --incomplete skip 100% translated files. 89s 89s Output format: 89s --full (default) statistics in full, verbose format 89s --csv statistics in CSV format 89s --short same as --short-strings 89s --short-strings statistics of strings in short format - one line per file 89s --short-words statistics of words in short format - one line per file 89s --no-color show output without color 89s ========= SMOKE TEST: /usr/bin/podebug =========== 89s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 89s 89s Insert debug messages into XLIFF and Gettext PO localization files. See: 89s http://docs.translatehouse.org/projects/translate- 89s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 89s 89s Options: 89s --version show program's version number and exit 89s -h, --help show this help message and exit 89s --manpage output a manpage based on the help 89s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 89s --errorlevel=ERRORLEVEL 89s show errorlevel as: none, message, exception, 89s traceback 89s -i INPUT, --input=INPUT 89s read from INPUT in po, pot, pot, tmx, xlf, xliff 89s formats 89s -x EXCLUDE, --exclude=EXCLUDE 89s exclude names matching EXCLUDE from input paths 89s -o OUTPUT, --output=OUTPUT 89s write to OUTPUT in po, pot, tmx, xlf, xliff formats 89s -S, --timestamp skip conversion if the output file has newer timestamp 89s -f FORMAT, --format=FORMAT 89s specify format string 89s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 89s classified, en, flipped, unicode, xxx 89s --ignore=APPLICATION apply tagging ignore rules for the given application: 89s gtk, kde, libreoffice, mozilla, openoffice 89s --preserveplaceholders 89s attempt to exclude characters that are part of 89s placeholders when performing character-level rewrites 89s so that consuming applications can still use the 89s placeholders to generate final output 90s ========= SMOKE TEST: /usr/bin/pofilter =========== 90s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 90s 90s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 90s Snippet files are created whenever a test fails. These can be examined, 90s corrected and merged back into the originals using pomerge. See: 90s http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 90s and http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 90s tests. 90s 90s Options: 90s --version show program's version number and exit 90s -h, --help show this help message and exit 90s --manpage output a manpage based on the help 90s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 90s --errorlevel=ERRORLEVEL 90s show errorlevel as: none, message, exception, 90s traceback 90s -i INPUT, --input=INPUT 90s read from INPUT in po, pot, tmx, xlf, xliff formats 90s -x EXCLUDE, --exclude=EXCLUDE 90s exclude names matching EXCLUDE from input paths 90s -o OUTPUT, --output=OUTPUT 90s write to OUTPUT in po, pot, tmx, xlf, xliff formats 90s -l, --listfilters list filters available 90s --review include units marked for review (default) 90s --noreview exclude units marked for review 90s --fuzzy include units marked fuzzy (default) 90s --nofuzzy exclude units marked fuzzy 90s --nonotes don't add notes about the errors 90s --autocorrect output automatic corrections where possible rather 90s than describing issues 90s --language=LANG set target language code (e.g. af-ZA) [required for 90s spell check and recommended in general] 90s --openoffice use the standard checks for OpenOffice translations 90s --libreoffice use the standard checks for LibreOffice translations 90s --mozilla use the standard checks for Mozilla translations 90s --drupal use the standard checks for Drupal translations 90s --gnome use the standard checks for Gnome translations 90s --kde use the standard checks for KDE translations 90s --wx use the standard checks for wxWidgets translations 90s --excludefilter=FILTER 90s don't use FILTER when filtering 90s -t FILTER, --test=FILTER 90s only use test FILTERs specified with this option when 90s filtering 90s --notranslatefile=FILE 90s read list of untranslatable words from FILE (must not 90s be translated) 90s --musttranslatefile=FILE 90s read list of translatable words from FILE (must be 90s translated) 90s --validcharsfile=FILE 90s read list of all valid characters from FILE (must be 90s in UTF-8) 90s ========= SMOKE TEST: /usr/bin/pogrep =========== 90s 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] 90s 90s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 90s snippet files of the same type which can then be reviewed and later merged 90s using :doc:`pomerge `. See: 90s http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 90s 90s Options: 90s --version show program's version number and exit 90s -h, --help show this help message and exit 90s --manpage output a manpage based on the help 90s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 90s --errorlevel=ERRORLEVEL 90s show errorlevel as: none, message, exception, 90s traceback 90s -i INPUT, --input=INPUT 90s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 90s xliff formats 90s -x EXCLUDE, --exclude=EXCLUDE 90s exclude names matching EXCLUDE from input paths 90s -o OUTPUT, --output=OUTPUT 90s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 90s xliff formats 90s --search=SEARCHPARTS searches the given parts (source, target, notes and 90s locations) 90s -I, --ignore-case ignore case distinctions 90s -e, --regexp use regular expression matching 90s -v, --invert-match select non-matching lines 90s --accelerator=ACCELERATOR 90s ignores the given accelerator when matching 90s -k, --keep-translations 90s always extract units with translations 90s ========= SMOKE TEST: /usr/bin/pomerge =========== 90s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 90s 90s Merges XLIFF and Gettext PO localization files. Snippet file produced by 90s e.g. :doc:`pogrep ` and updated by a translator can be 90s merged back into the original files. See: 90s http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 90s 90s Options: 90s --version show program's version number and exit 90s -h, --help show this help message and exit 90s --manpage output a manpage based on the help 90s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 90s --errorlevel=ERRORLEVEL 90s show errorlevel as: none, message, exception, 90s traceback 90s -i INPUT, --input=INPUT 90s read from INPUT in po, pot, pot, xlf, xliff formats 90s -x EXCLUDE, --exclude=EXCLUDE 90s exclude names matching EXCLUDE from input paths 90s -o OUTPUT, --output=OUTPUT 90s write to OUTPUT in po, pot, pot, xlf, xliff formats 90s -t TEMPLATE, --template=TEMPLATE 90s read from TEMPLATE in po, pot, pot, xlf, xliff formats 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s --mergeblanks=MERGEBLANKS 90s whether to overwrite existing translations with blank 90s translations (yes/no). Default is yes. 90s --mergefuzzy=MERGEFUZZY 90s whether to consider fuzzy translations from input 90s (yes/no). Default is yes. 90s --mergecomments=MERGECOMMENTS 90s whether to merge comments as well as translations 90s (yes/no). Default is yes. 90s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 90s Usage pomigrate2 [options] 90s 90s Options: 90s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 90s -C|--use-compendium - create and use a compendium built from the migrating files 90s -C|--use-compendium=some-compendium.po 90s - use an external compendium during the migration 90s --no-wrap - do not wrap long lines 90s --locale=lang - set locale for newly born files 90s -q|--quiet - suppress most output 90s -p|--pot2po - use pot2po instead of msgmerge to migrate 90s ========= SMOKE TEST: /usr/bin/popuretext =========== 90s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 90s ========= SMOKE TEST: /usr/bin/poreencode =========== 90s Usage: poreencode 90s eg: poreencode UTF-8 af/ 90s ========= SMOKE TEST: /usr/bin/porestructure =========== 90s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 90s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 90s 90s Restructure Gettxt PO files produced by :doc:`poconflicts 90s ` into the original directory tree for merging using 90s :doc:`pomerge `. See: 90s http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 90s 90s Options: 90s --version show program's version number and exit 90s -h, --help show this help message and exit 90s --manpage output a manpage based on the help 90s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 90s --errorlevel=ERRORLEVEL 90s show errorlevel as: none, message, exception, 90s traceback 90s -i INPUT, --input=INPUT 90s read from INPUT in po format 90s -x EXCLUDE, --exclude=EXCLUDE 90s exclude names matching EXCLUDE from input paths 90s -o OUTPUT, --output=OUTPUT 90s write to OUTPUT in po format 90s ========= SMOKE TEST: /usr/bin/posegment =========== 90s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 90s 90s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 90s See: http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 90s 90s Options: 90s --version show program's version number and exit 90s -h, --help show this help message and exit 90s --manpage output a manpage based on the help 90s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 90s --errorlevel=ERRORLEVEL 90s show errorlevel as: none, message, exception, 90s traceback 90s -i INPUT, --input=INPUT 90s read from INPUT in po, pot, tmx, xlf, xliff formats 90s -x EXCLUDE, --exclude=EXCLUDE 90s exclude names matching EXCLUDE from input paths 90s -o OUTPUT, --output=OUTPUT 90s write to OUTPUT in po, pot, tmx, xlf, xliff formats 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s -P, --pot output PO Templates (.pot) rather than PO files (.po) 90s -l LANG, --language=LANG 90s the target language code 90s --source-language=LANG 90s the source language code (default 'en') 90s --keepspaces Disable automatic stripping of whitespace 90s --only-aligned Removes units where sentence number does not 90s correspond 90s ========= SMOKE TEST: /usr/bin/poswap =========== 90s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 90s 90s Builds a new translation file with the target of the input language as source 90s language. .. note:: Ensure that the two po files correspond 100% to the same 90s pot file before using this. To translate Kurdish (ku) through French:: 90s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 90s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 90s http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 90s 90s Options: 90s --version show program's version number and exit 90s -h, --help show this help message and exit 90s --manpage output a manpage based on the help 90s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 90s --errorlevel=ERRORLEVEL 90s show errorlevel as: none, message, exception, 90s traceback 90s -i INPUT, --input=INPUT 90s read from INPUT in po, pot formats 90s -x EXCLUDE, --exclude=EXCLUDE 90s exclude names matching EXCLUDE from input paths 90s -o OUTPUT, --output=OUTPUT 90s write to OUTPUT in po, pot formats 90s -t TEMPLATE, --template=TEMPLATE 90s read from TEMPLATE in po, pot, pot formats 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s --reverse reverse the process of intermediate language 90s conversion 90s ========= SMOKE TEST: /usr/bin/pot2po =========== 90s 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] 90s 90s Convert template files (like .pot or template .xlf files) to translation 90s files, preserving existing translations. See: 90s http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 90s 90s Options: 90s --version show program's version number and exit 90s -h, --help show this help message and exit 90s --manpage output a manpage based on the help 90s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 90s --errorlevel=ERRORLEVEL 90s show errorlevel as: none, message, exception, 90s traceback 90s -i INPUT, --input=INPUT 90s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 90s formats 90s -x EXCLUDE, --exclude=EXCLUDE 90s exclude names matching EXCLUDE from input paths 90s -o OUTPUT, --output=OUTPUT 90s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 90s xliff formats 90s -t TEMPLATE, --template=TEMPLATE 90s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 90s xliff formats 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s -P, --pot output PO Templates (.pot) rather than PO files (.po) 90s --tm=TM The file to use as translation memory when fuzzy 90s matching 90s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 90s The minimum similarity for inclusion (default: 75%) 90s --nofuzzymatching Disable fuzzy matching 90s ========= SMOKE TEST: /usr/bin/poterminology =========== 90s 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] 90s input directory is searched for PO files, terminology PO file is output file 90s 90s Create a terminology file by reading a set of .po or .pot files to produce a 90s pootle-terminology.pot. See: 90s http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/poterminology.html for examples and usage 90s instructions. 90s 90s Options: 90s --version show program's version number and exit 90s -h, --help show this help message and exit 90s --manpage output a manpage based on the help 90s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 90s --errorlevel=ERRORLEVEL 90s show errorlevel as: none, message, exception, 90s traceback 90s -i INPUT, --input=INPUT 90s read from INPUT in po, pot formats 90s -x EXCLUDE, --exclude=EXCLUDE 90s exclude names matching EXCLUDE from input paths 90s -o OUTPUT, --output=OUTPUT 90s write to OUTPUT in po, pot formats 90s -u UPDATEFILE, --update=UPDATEFILE 90s update terminology in UPDATEFILE 90s -S STOPFILE, --stopword-list=STOPFILE 90s read stopword (term exclusion) list from STOPFILE 90s (default /usr/share/pyshared/translate/share/stoplist- 90s en) 90s -F, --fold-titlecase fold "Title Case" to lowercase (default) 90s -C, --preserve-case preserve all uppercase/lowercase 90s -I, --ignore-case make all terms lowercase 90s --accelerator=ACCELERATORS 90s ignore the given accelerator characters when matching 90s -t LENGTH, --term-words=LENGTH 90s generate terms of up to LENGTH words (default 3) 90s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 90s 1) 90s --inputs-needed=MIN omit terms appearing in less than MIN input files 90s (default 2, or 1 if only one input file) 90s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 90s different messages (default 1) 90s --substr-needed=MIN omit substring-only terms appearing in less than MIN 90s different messages (default 2) 90s --locs-needed=MIN omit terms appearing in less than MIN different 90s original source files (default 2) 90s --sort=ORDER output sort order(s): frequency, dictionary, length 90s (may repeat option, default is all in above order) 90s --source-language=LANG 90s the source language code (default 'en') 90s -v, --invert invert the source and target languages for terminology 90s ========= SMOKE TEST: /usr/bin/pretranslate =========== 90s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 90s 90s Fill localization files with suggested translations based on translation 90s memory and existing translations. See: 90s http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/pretranslate.html for examples and usage 90s instructions. 90s 90s Options: 90s --version show program's version number and exit 90s -h, --help show this help message and exit 90s --manpage output a manpage based on the help 90s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 90s --errorlevel=ERRORLEVEL 90s show errorlevel as: none, message, exception, 90s traceback 90s -i INPUT, --input=INPUT 90s read from INPUT in po, pot, pot, xlf, xliff formats 90s -x EXCLUDE, --exclude=EXCLUDE 90s exclude names matching EXCLUDE from input paths 90s -o OUTPUT, --output=OUTPUT 90s write to OUTPUT in po, pot, xlf, xliff formats 90s -t TEMPLATE, --template=TEMPLATE 90s read from TEMPLATE in po, pot, xlf, xliff formats 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s --tm=TM The file to use as translation memory when fuzzy 90s matching 90s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 90s The minimum similarity for inclusion (default: 75%) 90s --nofuzzymatching Disable fuzzy matching 90s ========= SMOKE TEST: /usr/bin/prop2po =========== 90s 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] 90s 90s Convert Java/Mozilla .properties files to Gettext PO localization files. 90s See: http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 90s 90s Options: 90s --version show program's version number and exit 90s -h, --help show this help message and exit 90s --manpage output a manpage based on the help 90s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 90s --errorlevel=ERRORLEVEL 90s show errorlevel as: none, message, exception, 90s traceback 90s -i INPUT, --input=INPUT 90s read from INPUT in lang, properties, strings formats 90s -x EXCLUDE, --exclude=EXCLUDE 90s exclude names matching EXCLUDE from input paths 90s -o OUTPUT, --output=OUTPUT 90s write to OUTPUT in po, pot formats 90s -t TEMPLATE, --template=TEMPLATE 90s read from TEMPLATE in lang, properties, strings 90s formats 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s -P, --pot output PO Templates (.pot) rather than PO files (.po) 90s --personality=TYPE override the input file format: java, java-utf8, java- 90s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 90s strings, strings-utf8, joomla (for .properties files, 90s default: java) 90s --encoding=ENCODING override the encoding set by the personality 90s --duplicates=DUPLICATESTYLE 90s what to do with duplicate strings (identical source 90s text): merge, msgctxt (default: 'msgctxt') 90s ========= SMOKE TEST: /usr/bin/pydiff =========== 90s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 90s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 90s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 90s fromfile tofile 90s 90s positional arguments: 90s fromfile 90s tofile 90s 90s options: 90s -h, --help show this help message and exit 90s -i, --ignore-case Ignore case differences in file contents. 90s -U, --unified NUM Output NUM (default 3) lines of unified context 90s -r, --recursive Recursively compare any subdirectories found. 90s -N, --new-file Treat absent files as empty. 90s --unidirectional-new-file 90s Treat absent first files as empty. 90s -s, --report-identical-files 90s Report when two files are the same. 90s -x, --exclude PAT Exclude files that match PAT. 90s --fromcontains TEXT Only show changes where fromfile contains TEXT 90s --tocontains TEXT Only show changes where tofile contains TEXT 90s --contains TEXT Only show changes where fromfile or tofile contains 90s TEXT 90s -I, --ignore-case-contains 90s Ignore case differences when matching any of the 90s changes 90s --accelerator ACCELERATORS 90s ignores the given accelerator characters when matching 90s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 90s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 90s 90s Convert Python format .po files to PHP format .po files. 90s 90s Options: 90s --version show program's version number and exit 90s -h, --help show this help message and exit 90s --manpage output a manpage based on the help 90s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 90s --errorlevel=ERRORLEVEL 90s show errorlevel as: none, message, exception, 90s traceback 90s -i INPUT, --input=INPUT 90s read from INPUT in po, pot formats 90s -x EXCLUDE, --exclude=EXCLUDE 90s exclude names matching EXCLUDE from input paths 90s -o OUTPUT, --output=OUTPUT 90s write to OUTPUT in po, pot formats 90s -S, --timestamp skip conversion if the output file has newer timestamp 91s ========= SMOKE TEST: /usr/bin/rc2po =========== 91s 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] 91s 91s Convert Windows RC files to Gettext PO localization files. See: 91s http://docs.translatehouse.org/projects/translate- 91s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 91s 91s Options: 91s --version show program's version number and exit 91s -h, --help show this help message and exit 91s --manpage output a manpage based on the help 91s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 91s --errorlevel=ERRORLEVEL 91s show errorlevel as: none, message, exception, 91s traceback 91s -i INPUT, --input=INPUT 91s read from INPUT in nls, rc formats 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in po, pot formats 91s -t TEMPLATE, --template=TEMPLATE 91s read from TEMPLATE in nls, rc formats 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s -P, --pot output PO Templates (.pot) rather than PO files (.po) 91s --charset=CHARSET charset to use to decode the RC files (autodetection 91s is used by default) 91s -l LANG, --lang=LANG LANG entry (default: None) 91s --sublang=SUBLANG SUBLANG entry (default: None) 91s --duplicates=DUPLICATESTYLE 91s what to do with duplicate strings (identical source 91s text): merge, msgctxt (default: 'msgctxt') 91s ========= SMOKE TEST: /usr/bin/resx2po =========== 91s 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] 91s 91s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 91s http://docs.translatehouse.org/projects/translate- 91s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 91s 91s Options: 91s --version show program's version number and exit 91s -h, --help show this help message and exit 91s --manpage output a manpage based on the help 91s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 91s --errorlevel=ERRORLEVEL 91s show errorlevel as: none, message, exception, 91s traceback 91s -i INPUT, --input=INPUT 91s read from INPUT in resx format 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in po, pot formats 91s -t TEMPLATE, --template=TEMPLATE 91s read from TEMPLATE in resx format 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s -P, --pot output PO Templates (.pot) rather than PO files (.po) 91s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 91s everything) 91s --duplicates=DUPLICATESTYLE 91s what to do with duplicate strings (identical source 91s text): merge, msgctxt (default: 'msgctxt') 91s ========= SMOKE TEST: /usr/bin/sub2po =========== 91s 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] 91s 91s Convert subtitle files to Gettext PO localization files. See: 91s http://docs.translatehouse.org/projects/translate- 91s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 91s 91s Options: 91s --version show program's version number and exit 91s -h, --help show this help message and exit 91s --manpage output a manpage based on the help 91s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 91s --errorlevel=ERRORLEVEL 91s show errorlevel as: none, message, exception, 91s traceback 91s -i INPUT, --input=INPUT 91s read from INPUT in ass, srt, ssa, sub formats 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in po, pot formats 91s -t TEMPLATE, --template=TEMPLATE 91s read from TEMPLATE in ass, srt, ssa, sub formats 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s -P, --pot output PO Templates (.pot) rather than PO files (.po) 91s --duplicates=DUPLICATESTYLE 91s what to do with duplicate strings (identical source 91s text): merge, msgctxt (default: 'msgctxt') 91s ========= SMOKE TEST: /usr/bin/symb2po =========== 91s 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] 91s 91s Convert Symbian localisation files to Gettext PO localization files. See: 91s http://docs.translatehouse.org/projects/translate- 91s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 91s 91s Options: 91s --version show program's version number and exit 91s -h, --help show this help message and exit 91s --manpage output a manpage based on the help 91s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 91s --errorlevel=ERRORLEVEL 91s show errorlevel as: none, message, exception, 91s traceback 91s -i INPUT, --input=INPUT 91s read from INPUT in r01 format 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in po, pot formats 91s -t TEMPLATE, --template=TEMPLATE 91s read from TEMPLATE in 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s -P, --pot output PO Templates (.pot) rather than PO files (.po) 91s --duplicates=DUPLICATESTYLE 91s what to do with duplicate strings (identical source 91s text): merge, msgctxt (default: 'msgctxt') 91s ========= SMOKE TEST: /usr/bin/tbx2po =========== 91s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 91s 91s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 91s http://docs.translatehouse.org/projects/translate- 91s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 91s 91s Options: 91s --version show program's version number and exit 91s -h, --help show this help message and exit 91s --manpage output a manpage based on the help 91s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 91s --errorlevel=ERRORLEVEL 91s show errorlevel as: none, message, exception, 91s traceback 91s -i INPUT, --input=INPUT 91s read from INPUT in tbx format 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in po, pot formats 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s ========= SMOKE TEST: /usr/bin/tiki2po =========== 91s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 91s 91s Convert TikiWiki's language.php files to Gettext PO localization files. See: 91s http://docs.translatehouse.org/projects/translate- 91s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 91s 91s Options: 91s --version show program's version number and exit 91s -h, --help show this help message and exit 91s --manpage output a manpage based on the help 91s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 91s --errorlevel=ERRORLEVEL 91s show errorlevel as: none, message, exception, 91s traceback 91s -i INPUT, --input=INPUT 91s read from INPUT in php format 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in po, pot formats 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s --include-unused Include strings in the unused section 91s ========= SMOKE TEST: /usr/bin/tmserver =========== 91s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 91s [-s SOURCE_LANG] [-b BIND] [-p PORT] 91s [--max-candidates MAX_CANDIDATES] 91s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 91s [--debug] 91s 91s options: 91s -h, --help show this help message and exit 91s -d, --tmdb TMDBFILE translation memory database file 91s -f, --import-translation-file TMFILES 91s translation file to import into the database 91s -t, --import-target-lang TARGET_LANG 91s target language of translation files 91s -s, --import-source-lang SOURCE_LANG 91s source language of translation files 91s -b, --bind BIND address to bind server to (default: localhost) 91s -p, --port PORT port to listen on (default: 8888) 91s --max-candidates MAX_CANDIDATES 91s Maximum number of candidates 91s --min-similarity MIN_SIMILARITY 91s minimum similarity 91s --max-length MAX_LENGTH 91s Maxmimum string length 91s --debug enable debugging features 92s ========= SMOKE TEST: /usr/bin/ts2po =========== 92s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 92s 92s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 92s http://docs.translatehouse.org/projects/translate- 92s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 92s 92s Options: 92s --version show program's version number and exit 92s -h, --help show this help message and exit 92s --manpage output a manpage based on the help 92s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 92s --errorlevel=ERRORLEVEL 92s show errorlevel as: none, message, exception, 92s traceback 92s -i INPUT, --input=INPUT 92s read from INPUT in ts format 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in po, pot formats 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s -P, --pot output PO Templates (.pot) rather than PO files (.po) 92s --duplicates=DUPLICATESTYLE 92s what to do with duplicate strings (identical source 92s text): merge, msgctxt (default: 'msgctxt') 92s ========= SMOKE TEST: /usr/bin/txt2po =========== 92s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 92s 92s Convert plain text (.txt) files to Gettext PO localization files. See: 92s http://docs.translatehouse.org/projects/translate- 92s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 92s 92s Options: 92s --version show program's version number and exit 92s -h, --help show this help message and exit 92s --manpage output a manpage based on the help 92s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 92s --errorlevel=ERRORLEVEL 92s show errorlevel as: none, message, exception, 92s traceback 92s -i INPUT, --input=INPUT 92s read from INPUT in *, txt formats 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in po, pot formats 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s -P, --pot output PO Templates (.pot) rather than PO files (.po) 92s --encoding=ENCODING The encoding of the input file (default: UTF-8) 92s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 92s mediawiki 92s --no-segmentation Don't segment the file, treat it like a single message 92s --duplicates=DUPLICATESTYLE 92s what to do with duplicate strings (identical source 92s text): merge, msgctxt (default: 'msgctxt') 92s ========= SMOKE TEST: /usr/bin/web2py2po =========== 92s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 92s 92s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 92s http://docs.translatehouse.org/projects/translate- 92s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 92s 92s Options: 92s --version show program's version number and exit 92s -h, --help show this help message and exit 92s --manpage output a manpage based on the help 92s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 92s --errorlevel=ERRORLEVEL 92s show errorlevel as: none, message, exception, 92s traceback 92s -i INPUT, --input=INPUT 92s read from INPUT in py format 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in po, pot formats 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s -P, --pot output PO Templates (.pot) rather than PO files (.po) 92s --duplicates=DUPLICATESTYLE 92s what to do with duplicate strings (identical source 92s text): merge, msgctxt (default: 'msgctxt') 92s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 92s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 92s 92s Convert XLIFF translation files to OpenDocument (ODF) files. See: 92s http://docs.translatehouse.org/projects/translate- 92s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 92s 92s Options: 92s --version show program's version number and exit 92s -h, --help show this help message and exit 92s --manpage output a manpage based on the help 92s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 92s --errorlevel=ERRORLEVEL 92s show errorlevel as: none, message, exception, 92s traceback 92s -i INPUT, --input=INPUT 92s read from INPUT in xlf format 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 92s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 92s -t TEMPLATE, --template=TEMPLATE 92s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 92s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 92s formats 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 92s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 92s 92s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 92s file. See: http://docs.translatehouse.org/projects/translate- 92s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 92s 92s Options: 92s --version show program's version number and exit 92s -h, --help show this help message and exit 92s --manpage output a manpage based on the help 92s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 92s --errorlevel=ERRORLEVEL 92s show errorlevel as: none, message, exception, 92s traceback 92s -i INPUT, --input=INPUT 92s read from INPUT in po, pot, xlf, xliff formats 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in oo, sdf formats 92s -t TEMPLATE, --template=TEMPLATE 92s read from TEMPLATE in oo, sdf formats 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s -l LANG, --language=LANG 92s set target language code (e.g. af-ZA) [required] 92s --source-language=LANG 92s set source language code (default en-US) 92s -T, --keeptimestamp don't change the timestamps of the strings 92s --nonrecursiveoutput don't treat the output oo as a recursive store 92s --nonrecursivetemplate 92s don't treat the template oo as a recursive store 92s --skipsource don't output the source language, but fallback to it 92s where needed 92s --filteraction=ACTION 92s action on pofilter failure: none (default), warn, 92s exclude-serious, exclude-all 92s --fuzzy use translations marked fuzzy 92s --nofuzzy don't use translations marked fuzzy (default) 92s --multifile=MULTIFILESTYLE 92s how to split po/pot files (single, toplevel or 92s onefile) 92s ========= SMOKE TEST: /usr/bin/xliff2po =========== 92s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 92s 92s Convert XLIFF localization files to Gettext PO localization files. See: 92s http://docs.translatehouse.org/projects/translate- 92s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 92s 92s Options: 92s --version show program's version number and exit 92s -h, --help show this help message and exit 92s --manpage output a manpage based on the help 92s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 92s --errorlevel=ERRORLEVEL 92s show errorlevel as: none, message, exception, 92s traceback 92s -i INPUT, --input=INPUT 92s read from INPUT in xlf, xliff formats 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in po, pot formats 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s -P, --pot output PO Templates (.pot) rather than PO files (.po) 92s --duplicates=DUPLICATESTYLE 92s what to do with duplicate strings (identical source 92s text): merge, msgctxt (default: 'msgctxt') 93s ========= SMOKE TEST: /usr/bin/yaml2po =========== 93s 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] 93s 93s Convert YAML files to Gettext PO localization files. See: 93s http://docs.translatehouse.org/projects/translate- 93s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 93s 93s Options: 93s --version show program's version number and exit 93s -h, --help show this help message and exit 93s --manpage output a manpage based on the help 93s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 93s --errorlevel=ERRORLEVEL 93s show errorlevel as: none, message, exception, 93s traceback 93s -i INPUT, --input=INPUT 93s read from INPUT in yaml, yml formats 93s -x EXCLUDE, --exclude=EXCLUDE 93s exclude names matching EXCLUDE from input paths 93s -o OUTPUT, --output=OUTPUT 93s write to OUTPUT in po, pot formats 93s -t TEMPLATE, --template=TEMPLATE 93s read from TEMPLATE in yaml, yml formats 93s -S, --timestamp skip conversion if the output file has newer timestamp 93s -P, --pot output PO Templates (.pot) rather than PO files (.po) 93s --duplicates=DUPLICATESTYLE 93s what to do with duplicate strings (identical source 93s text): merge, msgctxt (default: 'msgctxt') 93s autopkgtest [17:45:38]: test translate-toolkit: -----------------------] 94s translate-toolkit PASS 94s autopkgtest [17:45:39]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 94s autopkgtest [17:45:39]: test python3-translate: preparing testbed 115s Creating nova instance adt-resolute-s390x-translate-toolkit-20251020-174404-juju-7f2275-prod-proposed-migration-environment-20-1741fedb-fe16-4d56-b20b-8ea0588f0d1d from image adt/ubuntu-resolute-s390x-server-20251020.img (UUID af6042e7-5f94-4102-8fd4-5557e2338897)... 157s autopkgtest [17:46:42]: testbed dpkg architecture: s390x 157s autopkgtest [17:46:42]: testbed apt version: 3.1.8ubuntu1 158s autopkgtest [17:46:43]: @@@@@@@@@@@@@@@@@@@@ test bed setup 158s autopkgtest [17:46:43]: testbed release detected to be: resolute 159s autopkgtest [17:46:44]: updating testbed package index (apt update) 159s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [83.3 kB] 159s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 159s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 159s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 159s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [59.3 kB] 159s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5028 B] 159s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [14.3 kB] 159s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [646 kB] 160s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main s390x Packages [108 kB] 160s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted s390x Packages [940 B] 160s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x Packages [395 kB] 160s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse s390x Packages [3812 B] 160s Fetched 1316 kB in 1s (1291 kB/s) 160s Reading package lists... 161s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 161s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 161s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 161s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 162s Reading package lists... 162s Reading package lists... 162s Building dependency tree... 162s Reading state information... 162s Calculating upgrade... 162s The following packages will be upgraded: 162s libbrotli1 libjson-c5 python3-inflect python3-oauthlib python3-zipp 163s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 163s Need to get 554 kB of archives. 163s After this operation, 31.7 kB of additional disk space will be used. 163s Get:1 http://ftpmaster.internal/ubuntu resolute/main s390x libjson-c5 s390x 0.18+ds-1.1 [36.8 kB] 163s Get:2 http://ftpmaster.internal/ubuntu resolute/main s390x libbrotli1 s390x 1.1.0-2build6 [379 kB] 163s Get:3 http://ftpmaster.internal/ubuntu resolute/main s390x python3-inflect all 7.5.0-1 [33.9 kB] 163s Get:4 http://ftpmaster.internal/ubuntu resolute/main s390x python3-oauthlib all 3.3.1-1 [93.5 kB] 163s Get:5 http://ftpmaster.internal/ubuntu resolute/main s390x python3-zipp all 3.23.0-1 [10.4 kB] 163s dpkg-preconfigure: unable to re-open stdin: No such file or directory 163s Fetched 554 kB in 1s (835 kB/s) 163s (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 ... 56857 files and directories currently installed.) 163s Preparing to unpack .../libjson-c5_0.18+ds-1.1_s390x.deb ... 163s Unpacking libjson-c5:s390x (0.18+ds-1.1) over (0.18+ds-1) ... 163s Preparing to unpack .../libbrotli1_1.1.0-2build6_s390x.deb ... 163s Unpacking libbrotli1:s390x (1.1.0-2build6) over (1.1.0-2build5) ... 163s Preparing to unpack .../python3-inflect_7.5.0-1_all.deb ... 164s Unpacking python3-inflect (7.5.0-1) over (7.3.1-2) ... 164s Preparing to unpack .../python3-oauthlib_3.3.1-1_all.deb ... 164s Unpacking python3-oauthlib (3.3.1-1) over (3.2.2-3) ... 164s Preparing to unpack .../python3-zipp_3.23.0-1_all.deb ... 164s Unpacking python3-zipp (3.23.0-1) over (3.21.0-1) ... 164s Setting up libbrotli1:s390x (1.1.0-2build6) ... 164s Setting up python3-zipp (3.23.0-1) ... 164s Setting up python3-inflect (7.5.0-1) ... 164s Setting up python3-oauthlib (3.3.1-1) ... 164s Setting up libjson-c5:s390x (0.18+ds-1.1) ... 164s Processing triggers for libc-bin (2.42-0ubuntu3) ... 164s autopkgtest [17:46:49]: upgrading testbed (apt dist-upgrade and autopurge) 164s Reading package lists... 164s Building dependency tree... 164s Reading state information... 165s Calculating upgrade... 165s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 165s Reading package lists... 165s Building dependency tree... 165s Reading state information... 165s Solving dependencies... 165s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 168s Reading package lists... 168s Building dependency tree... 168s Reading state information... 168s Solving dependencies... 168s The following NEW packages will be installed: 168s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 168s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 168s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 168s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 168s python3-cheroot python3-cwcwidth python3-dateutil python3-diff-match-patch 168s python3-enchant python3-iniconfig python3-iniparse python3-levenshtein 168s python3-lxml python3-mistletoe python3-packaging python3-phply 168s python3-pluggy python3-ply python3-pycountry python3-pytest python3-pytz 168s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 168s python3-soupsieve python3-syrupy python3-translate python3-tz 168s python3-vobject python3-xapian subversion 168s 0 upgraded, 47 newly installed, 0 to remove and 0 not upgraded. 168s Need to get 12.4 MB of archives. 168s After this operation, 55.0 MB of additional disk space will be used. 168s Get:1 http://ftpmaster.internal/ubuntu resolute/main s390x emacsen-common all 3.0.8 [13.9 kB] 168s Get:2 http://ftpmaster.internal/ubuntu resolute/main s390x dictionaries-common all 1.30.10 [178 kB] 169s Get:3 http://ftpmaster.internal/ubuntu resolute/main s390x libgomp1 s390x 15.2.0-5ubuntu1 [154 kB] 169s Get:4 http://ftpmaster.internal/ubuntu resolute/main s390x gettext s390x 0.23.1-2build2 [1062 kB] 170s Get:5 http://ftpmaster.internal/ubuntu resolute/main s390x hunspell-en-us all 1:2020.12.07-4 [585 kB] 170s Get:6 http://ftpmaster.internal/ubuntu resolute/main s390x libapr1t64 s390x 1.7.5-1 [114 kB] 170s Get:7 http://ftpmaster.internal/ubuntu resolute/main s390x libaprutil1t64 s390x 1.6.3-3ubuntu2 [98.4 kB] 170s Get:8 http://ftpmaster.internal/ubuntu resolute/main s390x libaspell15 s390x 0.60.8.1-4 [355 kB] 170s Get:9 http://ftpmaster.internal/ubuntu resolute/main s390x libhunspell-1.7-0 s390x 1.7.2+really1.7.2-10build3 [304 kB] 170s Get:10 http://ftpmaster.internal/ubuntu resolute/main s390x libenchant-2-2 s390x 2.8.2+dfsg1-3 [61.2 kB] 170s Get:11 http://ftpmaster.internal/ubuntu resolute/main s390x libexttextcat-data all 3.4.7-1ubuntu1 [193 kB] 170s Get:12 http://ftpmaster.internal/ubuntu resolute/universe s390x libserf-1-1 s390x 1.3.10-3ubuntu1 [49.8 kB] 170s Get:13 http://ftpmaster.internal/ubuntu resolute/universe s390x libutf8proc3 s390x 2.10.0-2 [72.0 kB] 170s Get:14 http://ftpmaster.internal/ubuntu resolute/universe s390x libsvn1 s390x 1.14.5-3 [1368 kB] 171s Get:15 http://ftpmaster.internal/ubuntu resolute/universe s390x libxapian30 s390x 1.4.29-3 [740 kB] 171s Get:16 http://ftpmaster.internal/ubuntu resolute/main s390x libxslt1.1 s390x 1.1.43-0.1 [163 kB] 171s Get:17 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-aeidon all 1.15-2 [231 kB] 171s Get:18 http://ftpmaster.internal/ubuntu resolute/main s390x python3-all s390x 3.13.7-1 [886 B] 171s Get:19 http://ftpmaster.internal/ubuntu resolute/main s390x python3-soupsieve all 2.7-2 [33.6 kB] 171s Get:20 http://ftpmaster.internal/ubuntu resolute/main s390x python3-bs4 all 4.13.4-3 [137 kB] 171s Get:21 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-charset-normalizer s390x 3.4.2-1 [129 kB] 171s Get:22 http://ftpmaster.internal/ubuntu resolute/main s390x python3-cheroot all 10.0.1+ds1-4 [78.6 kB] 171s Get:23 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-cwcwidth s390x 0.1.10-1build1 [22.9 kB] 171s Get:24 http://ftpmaster.internal/ubuntu resolute/main s390x python3-dateutil all 2.9.0-4 [80.3 kB] 171s Get:25 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-diff-match-patch all 20241021-1 [33.6 kB] 171s Get:26 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-enchant all 3.3.0~rc1-1 [35.1 kB] 171s Get:27 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-iniconfig all 1.1.1-2 [6024 B] 171s Get:28 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-rapidfuzz s390x 3.12.2+ds-1 [1562 kB] 171s Get:29 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-levenshtein s390x 0.27.1-2 [180 kB] 171s Get:30 http://ftpmaster.internal/ubuntu resolute/main s390x python3-lxml s390x 6.0.1-1 [1522 kB] 172s Get:31 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-mistletoe all 1.4.0-1 [38.2 kB] 172s Get:32 http://ftpmaster.internal/ubuntu resolute/main s390x python3-packaging all 25.0-1 [52.8 kB] 172s Get:33 http://ftpmaster.internal/ubuntu resolute/main s390x python3-ply all 3.11-9 [45.8 kB] 172s Get:34 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-phply all 1.2.6-1 [50.5 kB] 172s Get:35 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x python3-pluggy all 1.6.0-1 [21.0 kB] 172s Get:36 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x python3-pytest all 8.4.2-1 [268 kB] 172s Get:37 http://ftpmaster.internal/ubuntu resolute/main s390x python3-pytz all 2025.2-3 [163 kB] 172s Get:38 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-ruamel.yaml.clib s390x 0.2.12+ds-1build1 [151 kB] 172s Get:39 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 172s Get:40 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-syrupy all 4.9.1-1 [47.3 kB] 172s Get:41 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-translate all 3.15.1-1 [319 kB] 172s Get:42 http://ftpmaster.internal/ubuntu resolute/main s390x python3-tz all 2025.2-3 [1866 B] 172s Get:43 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-vobject all 0.9.8+dfsg-2 [41.3 kB] 172s Get:44 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-xapian s390x 1.4.29-1build1 [572 kB] 172s Get:45 http://ftpmaster.internal/ubuntu resolute/universe s390x subversion s390x 1.14.5-3 [900 kB] 172s Get:46 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-iniparse all 0.5.1-1 [21.2 kB] 172s Get:47 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 173s Preconfiguring packages ... 173s Fetched 12.4 MB in 4s (2837 kB/s) 173s Selecting previously unselected package emacsen-common. 173s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 56867 files and directories currently installed.) 173s Preparing to unpack .../00-emacsen-common_3.0.8_all.deb ... 173s Unpacking emacsen-common (3.0.8) ... 173s Selecting previously unselected package dictionaries-common. 173s Preparing to unpack .../01-dictionaries-common_1.30.10_all.deb ... 173s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 173s Unpacking dictionaries-common (1.30.10) ... 173s Selecting previously unselected package libgomp1:s390x. 173s Preparing to unpack .../02-libgomp1_15.2.0-5ubuntu1_s390x.deb ... 173s Unpacking libgomp1:s390x (15.2.0-5ubuntu1) ... 173s Selecting previously unselected package gettext. 173s Preparing to unpack .../03-gettext_0.23.1-2build2_s390x.deb ... 173s Unpacking gettext (0.23.1-2build2) ... 173s Selecting previously unselected package hunspell-en-us. 173s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-4_all.deb ... 173s Unpacking hunspell-en-us (1:2020.12.07-4) ... 173s Selecting previously unselected package libapr1t64:s390x. 173s Preparing to unpack .../05-libapr1t64_1.7.5-1_s390x.deb ... 173s Unpacking libapr1t64:s390x (1.7.5-1) ... 173s Selecting previously unselected package libaprutil1t64:s390x. 173s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu2_s390x.deb ... 173s Unpacking libaprutil1t64:s390x (1.6.3-3ubuntu2) ... 173s Selecting previously unselected package libaspell15:s390x. 173s Preparing to unpack .../07-libaspell15_0.60.8.1-4_s390x.deb ... 173s Unpacking libaspell15:s390x (0.60.8.1-4) ... 173s Selecting previously unselected package libhunspell-1.7-0:s390x. 173s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_s390x.deb ... 173s Unpacking libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 173s Selecting previously unselected package libenchant-2-2:s390x. 173s Preparing to unpack .../09-libenchant-2-2_2.8.2+dfsg1-3_s390x.deb ... 173s Unpacking libenchant-2-2:s390x (2.8.2+dfsg1-3) ... 173s Selecting previously unselected package libexttextcat-data. 173s Preparing to unpack .../10-libexttextcat-data_3.4.7-1ubuntu1_all.deb ... 173s Unpacking libexttextcat-data (3.4.7-1ubuntu1) ... 173s Selecting previously unselected package libserf-1-1:s390x. 173s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_s390x.deb ... 173s Unpacking libserf-1-1:s390x (1.3.10-3ubuntu1) ... 173s Selecting previously unselected package libutf8proc3:s390x. 173s Preparing to unpack .../12-libutf8proc3_2.10.0-2_s390x.deb ... 173s Unpacking libutf8proc3:s390x (2.10.0-2) ... 173s Selecting previously unselected package libsvn1:s390x. 173s Preparing to unpack .../13-libsvn1_1.14.5-3_s390x.deb ... 173s Unpacking libsvn1:s390x (1.14.5-3) ... 173s Selecting previously unselected package libxapian30:s390x. 173s Preparing to unpack .../14-libxapian30_1.4.29-3_s390x.deb ... 173s Unpacking libxapian30:s390x (1.4.29-3) ... 173s Selecting previously unselected package libxslt1.1:s390x. 173s Preparing to unpack .../15-libxslt1.1_1.1.43-0.1_s390x.deb ... 173s Unpacking libxslt1.1:s390x (1.1.43-0.1) ... 173s Selecting previously unselected package python3-aeidon. 173s Preparing to unpack .../16-python3-aeidon_1.15-2_all.deb ... 173s Unpacking python3-aeidon (1.15-2) ... 173s Selecting previously unselected package python3-all. 173s Preparing to unpack .../17-python3-all_3.13.7-1_s390x.deb ... 173s Unpacking python3-all (3.13.7-1) ... 173s Selecting previously unselected package python3-soupsieve. 173s Preparing to unpack .../18-python3-soupsieve_2.7-2_all.deb ... 173s Unpacking python3-soupsieve (2.7-2) ... 173s Selecting previously unselected package python3-bs4. 173s Preparing to unpack .../19-python3-bs4_4.13.4-3_all.deb ... 173s Unpacking python3-bs4 (4.13.4-3) ... 173s Selecting previously unselected package python3-charset-normalizer. 173s Preparing to unpack .../20-python3-charset-normalizer_3.4.2-1_s390x.deb ... 173s Unpacking python3-charset-normalizer (3.4.2-1) ... 173s Selecting previously unselected package python3-cheroot. 173s Preparing to unpack .../21-python3-cheroot_10.0.1+ds1-4_all.deb ... 173s Unpacking python3-cheroot (10.0.1+ds1-4) ... 173s Selecting previously unselected package python3-cwcwidth. 173s Preparing to unpack .../22-python3-cwcwidth_0.1.10-1build1_s390x.deb ... 173s Unpacking python3-cwcwidth (0.1.10-1build1) ... 173s Selecting previously unselected package python3-dateutil. 173s Preparing to unpack .../23-python3-dateutil_2.9.0-4_all.deb ... 173s Unpacking python3-dateutil (2.9.0-4) ... 173s Selecting previously unselected package python3-diff-match-patch. 173s Preparing to unpack .../24-python3-diff-match-patch_20241021-1_all.deb ... 173s Unpacking python3-diff-match-patch (20241021-1) ... 173s Selecting previously unselected package python3-enchant. 173s Preparing to unpack .../25-python3-enchant_3.3.0~rc1-1_all.deb ... 173s Unpacking python3-enchant (3.3.0~rc1-1) ... 173s Selecting previously unselected package python3-iniconfig. 173s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 173s Unpacking python3-iniconfig (1.1.1-2) ... 173s Selecting previously unselected package python3-rapidfuzz. 173s Preparing to unpack .../27-python3-rapidfuzz_3.12.2+ds-1_s390x.deb ... 173s Unpacking python3-rapidfuzz (3.12.2+ds-1) ... 173s Selecting previously unselected package python3-levenshtein. 173s Preparing to unpack .../28-python3-levenshtein_0.27.1-2_s390x.deb ... 173s Unpacking python3-levenshtein (0.27.1-2) ... 173s Selecting previously unselected package python3-lxml:s390x. 173s Preparing to unpack .../29-python3-lxml_6.0.1-1_s390x.deb ... 173s Unpacking python3-lxml:s390x (6.0.1-1) ... 173s Selecting previously unselected package python3-mistletoe. 173s Preparing to unpack .../30-python3-mistletoe_1.4.0-1_all.deb ... 173s Unpacking python3-mistletoe (1.4.0-1) ... 173s Selecting previously unselected package python3-packaging. 173s Preparing to unpack .../31-python3-packaging_25.0-1_all.deb ... 173s Unpacking python3-packaging (25.0-1) ... 173s Selecting previously unselected package python3-ply. 173s Preparing to unpack .../32-python3-ply_3.11-9_all.deb ... 173s Unpacking python3-ply (3.11-9) ... 173s Selecting previously unselected package python3-phply. 173s Preparing to unpack .../33-python3-phply_1.2.6-1_all.deb ... 173s Unpacking python3-phply (1.2.6-1) ... 173s Selecting previously unselected package python3-pluggy. 173s Preparing to unpack .../34-python3-pluggy_1.6.0-1_all.deb ... 173s Unpacking python3-pluggy (1.6.0-1) ... 173s Selecting previously unselected package python3-pytest. 173s Preparing to unpack .../35-python3-pytest_8.4.2-1_all.deb ... 173s Unpacking python3-pytest (8.4.2-1) ... 173s Selecting previously unselected package python3-pytz. 173s Preparing to unpack .../36-python3-pytz_2025.2-3_all.deb ... 173s Unpacking python3-pytz (2025.2-3) ... 173s Selecting previously unselected package python3-ruamel.yaml.clib. 173s Preparing to unpack .../37-python3-ruamel.yaml.clib_0.2.12+ds-1build1_s390x.deb ... 173s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 173s Selecting previously unselected package python3-ruamel.yaml. 173s Preparing to unpack .../38-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 173s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 173s Selecting previously unselected package python3-syrupy. 173s Preparing to unpack .../39-python3-syrupy_4.9.1-1_all.deb ... 173s Unpacking python3-syrupy (4.9.1-1) ... 173s Selecting previously unselected package python3-translate. 173s Preparing to unpack .../40-python3-translate_3.15.1-1_all.deb ... 173s Unpacking python3-translate (3.15.1-1) ... 173s Selecting previously unselected package python3-tz. 173s Preparing to unpack .../41-python3-tz_2025.2-3_all.deb ... 173s Unpacking python3-tz (2025.2-3) ... 173s Selecting previously unselected package python3-vobject. 173s Preparing to unpack .../42-python3-vobject_0.9.8+dfsg-2_all.deb ... 173s Unpacking python3-vobject (0.9.8+dfsg-2) ... 173s Selecting previously unselected package python3-xapian. 174s Preparing to unpack .../43-python3-xapian_1.4.29-1build1_s390x.deb ... 174s Unpacking python3-xapian (1.4.29-1build1) ... 174s Selecting previously unselected package subversion. 174s Preparing to unpack .../44-subversion_1.14.5-3_s390x.deb ... 174s Unpacking subversion (1.14.5-3) ... 174s Selecting previously unselected package python3-iniparse. 174s Preparing to unpack .../45-python3-iniparse_0.5.1-1_all.deb ... 174s Unpacking python3-iniparse (0.5.1-1) ... 174s Selecting previously unselected package python3-pycountry. 174s Preparing to unpack .../46-python3-pycountry_24.6.1+ds1-1_all.deb ... 174s Unpacking python3-pycountry (24.6.1+ds1-1) ... 174s Setting up python3-iniconfig (1.1.1-2) ... 174s Setting up libxapian30:s390x (1.4.29-3) ... 174s Setting up python3-rapidfuzz (3.12.2+ds-1) ... 174s Setting up python3-diff-match-patch (20241021-1) ... 174s Setting up python3-aeidon (1.15-2) ... 174s Setting up libutf8proc3:s390x (2.10.0-2) ... 174s Setting up libaspell15:s390x (0.60.8.1-4) ... 174s Setting up python3-charset-normalizer (3.4.2-1) ... 174s Setting up python3-ply (3.11-9) ... 174s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 174s Setting up python3-all (3.13.7-1) ... 174s Setting up python3-pytz (2025.2-3) ... 174s Setting up libgomp1:s390x (15.2.0-5ubuntu1) ... 174s Setting up python3-tz (2025.2-3) ... 174s Setting up python3-packaging (25.0-1) ... 174s Setting up emacsen-common (3.0.8) ... 174s Setting up python3-cheroot (10.0.1+ds1-4) ... 175s Setting up python3-pycountry (24.6.1+ds1-1) ... 175s Setting up python3-xapian (1.4.29-1build1) ... 175s Setting up python3-cwcwidth (0.1.10-1build1) ... 175s Setting up python3-pluggy (1.6.0-1) ... 175s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 175s Setting up python3-mistletoe (1.4.0-1) ... 175s Setting up libexttextcat-data (3.4.7-1ubuntu1) ... 175s Setting up libapr1t64:s390x (1.7.5-1) ... 175s Setting up libxslt1.1:s390x (1.1.43-0.1) ... 175s Setting up python3-dateutil (2.9.0-4) ... 175s Setting up python3-levenshtein (0.27.1-2) ... 175s Setting up libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 175s Setting up python3-soupsieve (2.7-2) ... 176s Setting up python3-iniparse (0.5.1-1) ... 176s Setting up libaprutil1t64:s390x (1.6.3-3ubuntu2) ... 176s Setting up python3-vobject (0.9.8+dfsg-2) ... 176s Setting up gettext (0.23.1-2build2) ... 176s Setting up python3-phply (1.2.6-1) ... 176s Setting up dictionaries-common (1.30.10) ... 176s Setting up python3-pytest (8.4.2-1) ... 177s Setting up python3-syrupy (4.9.1-1) ... 177s Setting up libserf-1-1:s390x (1.3.10-3ubuntu1) ... 177s Setting up python3-bs4 (4.13.4-3) ... 177s Setting up python3-lxml:s390x (6.0.1-1) ... 177s Setting up hunspell-en-us (1:2020.12.07-4) ... 177s Setting up libsvn1:s390x (1.14.5-3) ... 177s Setting up libenchant-2-2:s390x (2.8.2+dfsg1-3) ... 177s Setting up subversion (1.14.5-3) ... 177s Setting up python3-enchant (3.3.0~rc1-1) ... 177s Setting up python3-translate (3.15.1-1) ... 177s Processing triggers for libc-bin (2.42-0ubuntu3) ... 177s Processing triggers for man-db (2.13.1-1) ... 178s Processing triggers for install-info (7.1.1-1ubuntu1) ... 178s Processing triggers for dictionaries-common (1.30.10) ... 184s autopkgtest [17:47:09]: test python3-translate: [----------------------- 184s ============================= test session starts ============================== 184s platform linux -- Python 3.13.7, pytest-8.4.2, pluggy-1.6.0 -- /usr/bin/python3.13 184s cachedir: .pytest_cache 184s rootdir: /tmp/autopkgtest.AZvmBz/autopkgtest_tmp 184s plugins: syrupy-4.9.1, typeguard-4.4.2 190s collecting ... collected 3383 items / 2 skipped 190s 190s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 190s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 190s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 190s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 190s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 190s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 190s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 190s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 190s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 190s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 190s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 190s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 190s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 190s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 190s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 190s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 190s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 190s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 190s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 190s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 190s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 190s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 190s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 190s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 190s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 190s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 190s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 190s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 190s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 190s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 190s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 190s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 190s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 190s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 190s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 190s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 190s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 190s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 190s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 190s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 190s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 190s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 190s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 190s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 190s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 190s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 190s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 190s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 190s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 190s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 190s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 3%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 4%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 190s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 190s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 190s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 190s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 190s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 190s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 190s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 190s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 190s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 190s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 190s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 190s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 6%] 190s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 190s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 190s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 190s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 190s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 190s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 190s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 190s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 190s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 190s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 190s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 190s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 190s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 190s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 190s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 190s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 190s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 190s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 190s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 190s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 190s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 190s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 190s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 190s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 190s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 190s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 190s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 190s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 190s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 190s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 190s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 190s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 190s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 190s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 7%] 190s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 190s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 190s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 190s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 190s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 190s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 190s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 190s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 190s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 190s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 190s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 190s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 190s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 190s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 190s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 190s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 190s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 190s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 190s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 190s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 190s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 190s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 190s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 190s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 190s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 190s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 190s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 190s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 190s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 190s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 190s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 190s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 190s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 190s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 8%] 190s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 190s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 190s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 190s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 190s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 190s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 190s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 190s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 190s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 190s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 190s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 190s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 190s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 190s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 190s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 190s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 190s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 190s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 190s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 190s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 190s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 190s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 190s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 190s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 190s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 190s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 190s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 190s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 190s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 190s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 190s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 190s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 190s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 9%] 190s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 9%] 190s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 190s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 190s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 190s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 190s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 190s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 191s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 191s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 191s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 191s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 191s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 191s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 191s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 191s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 191s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 191s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 191s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 191s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 191s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 191s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 191s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 191s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 191s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 191s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 191s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 191s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 191s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 191s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 191s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 191s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 10%] 191s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 191s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 191s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 10%] 191s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 10%] 191s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 191s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 191s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 191s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 191s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 191s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 191s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 191s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 11%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 12%] 191s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 12%] 191s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 12%] 191s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 12%] 191s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 191s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 191s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 191s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 191s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 191s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 191s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 13%] 191s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 191s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 191s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 191s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 191s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 191s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 191s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 191s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 191s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 14%] 191s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 14%] 191s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 191s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 191s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 15%] 191s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 15%] 191s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 15%] 191s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 191s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 191s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 191s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 191s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 191s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 191s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 191s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 191s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 191s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 191s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 191s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 191s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 191s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 191s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 191s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 191s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 191s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 191s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 191s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 191s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 191s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 191s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 191s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 191s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 191s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 191s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 16%] 191s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 16%] 191s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 191s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 191s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 191s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 16%] 191s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 16%] 191s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 16%] 191s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 191s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 191s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 191s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 191s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 191s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 191s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 191s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 191s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 191s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 191s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 191s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 191s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 191s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 191s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 191s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 191s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 191s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 191s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 191s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 191s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 191s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 191s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 191s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 191s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 191s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 191s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 17%] 191s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 17%] 191s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 17%] 191s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 17%] 191s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 191s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 17%] 191s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 17%] 191s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 191s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 191s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 191s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 191s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 191s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 191s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 191s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 191s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 191s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 191s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 191s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 191s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 191s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 191s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 191s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 191s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 191s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 191s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 191s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 191s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 191s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 191s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 18%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 18%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 18%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 18%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 18%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 18%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 18%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 18%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 19%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 191s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 191s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 191s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 191s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 191s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 191s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 191s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 191s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 191s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 191s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 191s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 191s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 191s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 192s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 20%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 20%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 20%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 20%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 20%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 20%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 20%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 192s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 192s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 192s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 192s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 192s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 21%] 192s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 21%] 192s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 21%] 192s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 21%] 192s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 21%] 192s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 21%] 192s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 21%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 21%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 21%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 192s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 192s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 22%] 192s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 22%] 192s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 22%] 192s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 22%] 192s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 22%] 192s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 22%] 192s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 22%] 192s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 22%] 192s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 22%] 192s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 192s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 192s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 192s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 192s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 192s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 192s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 192s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 192s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 192s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 192s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 192s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 192s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 192s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 192s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 192s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 192s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 192s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 192s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 192s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 192s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 192s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 192s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 192s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 192s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 23%] 192s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 23%] 192s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 23%] 192s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 23%] 192s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 23%] 192s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 23%] 192s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 23%] 192s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 23%] 192s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 23%] 192s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 192s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 192s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 192s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 192s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 192s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 192s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 192s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 192s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 192s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 192s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 192s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 192s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 192s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 192s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 192s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 192s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 192s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 192s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 192s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 192s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 192s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 192s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 192s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 192s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 24%] 192s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 24%] 192s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 24%] 192s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 24%] 192s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 24%] 192s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 24%] 192s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 24%] 192s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 24%] 192s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 24%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 24%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 25%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 26%] 192s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 26%] 192s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 192s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 192s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 27%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 192s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 192s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 192s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 192s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 192s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 192s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 192s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 192s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 192s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 192s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 28%] 192s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 28%] 192s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 28%] 192s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 28%] 192s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 28%] 192s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 28%] 192s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 28%] 192s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 28%] 192s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 28%] 192s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 28%] 192s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 28%] 192s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 28%] 192s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 192s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 192s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 192s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 192s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 192s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 192s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 192s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 192s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 192s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 192s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 192s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 192s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 192s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 192s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 192s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 192s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 192s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 192s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 192s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 192s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 192s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 29%] 192s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 29%] 192s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 29%] 192s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 29%] 192s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 29%] 192s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 29%] 192s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 29%] 192s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 29%] 192s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 29%] 192s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 29%] 192s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 29%] 192s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 29%] 192s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 192s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 192s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 192s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 192s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 192s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 192s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 192s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 192s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 192s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 192s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 192s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 192s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 192s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 192s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 192s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 192s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 192s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 192s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 192s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 192s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 192s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 192s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 30%] 192s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 30%] 192s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 30%] 192s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 30%] 192s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 30%] 192s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 30%] 192s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 30%] 192s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 30%] 192s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 30%] 192s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 30%] 192s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 30%] 192s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 30%] 192s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 192s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 192s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 192s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 192s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 192s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 192s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 192s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 192s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 192s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 192s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 192s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 192s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 192s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 192s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 192s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 192s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 192s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 192s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 192s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 192s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 192s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 31%] 192s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 31%] 192s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 31%] 192s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 31%] 193s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 31%] 193s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 31%] 193s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 31%] 193s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 31%] 193s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 31%] 193s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 31%] 193s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 31%] 193s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 31%] 193s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 31%] 193s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 193s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_long PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 32%] 193s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_numbers PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_options PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_printf PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 32%] 193s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 193s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 193s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 33%] 193s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_functions PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_emails PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_urls PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_credits PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_gconf PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_validxml PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 33%] 193s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 193s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 193s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 193s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 193s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 193s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 193s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 193s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 193s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 193s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 193s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 193s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 34%] 193s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 35%] 193s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 193s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 193s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 193s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 193s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 193s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 193s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 193s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 193s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 193s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 193s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 193s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 193s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 193s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 193s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 193s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 193s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 193s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 193s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 193s tests/translate/lang/test_common.py::test_alter_length PASSED [ 36%] 193s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 36%] 193s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 36%] 193s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 36%] 193s tests/translate/lang/test_el.py::test_sentences PASSED [ 36%] 193s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 36%] 193s tests/translate/lang/test_es.py::test_sentences PASSED [ 36%] 193s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 36%] 193s tests/translate/lang/test_fa.py::test_sentences PASSED [ 36%] 193s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 36%] 193s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 36%] 193s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 36%] 193s tests/translate/lang/test_fr.py::test_sentences PASSED [ 36%] 193s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 36%] 193s tests/translate/lang/test_hy.py::test_sentences PASSED [ 36%] 193s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 193s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 193s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 193s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 193s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 193s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 193s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 193s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 193s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 193s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 193s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 193s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 193s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 193s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 193s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 193s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 193s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 193s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 193s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 193s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 37%] 193s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 37%] 193s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 37%] 193s tests/translate/lang/test_team.py::test_simple PASSED [ 37%] 193s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 37%] 193s tests/translate/lang/test_th.py::test_sentences PASSED [ 37%] 193s tests/translate/lang/test_tr.py::test_sentences PASSED [ 37%] 193s tests/translate/lang/test_uk.py::test_sentences PASSED [ 37%] 193s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 37%] 193s tests/translate/lang/test_vi.py::test_sentences PASSED [ 37%] 193s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 37%] 193s tests/translate/lang/test_zh.py::test_sentences PASSED [ 37%] 193s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 37%] 193s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 37%] 193s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 37%] 193s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 193s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 38%] 193s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 193s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 193s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 193s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 193s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 193s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 193s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 193s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 193s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 193s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 193s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 193s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 193s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 193s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 193s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 193s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 193s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 193s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 38%] 193s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 38%] 193s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 38%] 193s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 38%] 193s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 38%] 193s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 38%] 193s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 38%] 193s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 38%] 193s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 38%] 193s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 38%] 193s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 38%] 193s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 38%] 193s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 38%] 193s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 38%] 193s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 38%] 193s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 193s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 193s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 193s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 193s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 193s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 193s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 193s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 193s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 193s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 194s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 39%] 194s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 194s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 194s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 194s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 194s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 194s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 194s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 194s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 194s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 194s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 194s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 194s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 194s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 194s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 194s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 194s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 194s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 194s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 194s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 40%] 194s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 40%] 194s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 40%] 194s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 40%] 194s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 40%] 194s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 40%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 42%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 44%] 194s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 194s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 194s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 194s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 194s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 194s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 194s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 194s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 194s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 194s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 194s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 194s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 194s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 194s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 194s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 194s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 194s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 194s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 194s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 194s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 194s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 194s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 194s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 45%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 45%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 45%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 45%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 45%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 45%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 194s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 194s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 194s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 194s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 194s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 194s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 194s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 194s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 194s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 194s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 46%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 46%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 46%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 46%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 46%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 46%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 194s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding_save PASSED [ 47%] 194s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 194s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 194s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 194s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 194s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 194s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 194s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 194s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 194s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 194s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 194s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 194s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 194s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 194s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 194s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 47%] 194s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 47%] 194s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 47%] 194s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 47%] 194s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 47%] 194s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 47%] 194s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 48%] 194s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 194s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 194s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 194s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 194s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 194s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 194s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 194s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 194s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 194s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 194s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 194s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 194s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 194s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 194s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 194s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 194s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 194s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 194s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 194s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 194s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 194s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 194s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 194s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 194s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 194s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 194s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 194s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 49%] 194s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 49%] 194s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 49%] 194s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 49%] 194s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 49%] 194s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 49%] 194s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 194s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 194s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 194s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 194s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 194s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 194s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 194s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 194s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 194s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 194s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 194s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 194s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 194s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 194s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 194s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 194s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 194s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 194s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 194s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 194s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 194s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 194s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 194s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 194s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 194s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 194s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 194s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 194s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 194s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 194s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 194s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 194s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 194s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 194s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 51%] 194s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 51%] 194s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 51%] 194s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 51%] 194s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 194s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 194s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 194s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 194s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_comments PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 54%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 56%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 57%] 194s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 194s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 194s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 194s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 194s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 194s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 194s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 58%] 194s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_invalid_nesting PASSED [ 58%] 194s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 194s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 194s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 194s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 194s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 194s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 194s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 194s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 194s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 194s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 194s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 194s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 194s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 194s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 58%] 194s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_invalid PASSED [ 58%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 58%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 58%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 58%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 58%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 194s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 194s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 194s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 194s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 59%] 194s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 59%] 194s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 59%] 194s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 59%] 194s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 59%] 194s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 194s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 194s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 194s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 194s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 194s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 194s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 194s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 194s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 194s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 194s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 194s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 194s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 194s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 194s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 194s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 194s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 194s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 60%] 194s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 194s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 194s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 194s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 194s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 194s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 194s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 194s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 194s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 194s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 194s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 194s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 60%] 194s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 60%] 194s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 60%] 194s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 60%] 194s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 60%] 194s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 194s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 194s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 194s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 194s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[\u015e\u0167\u0159\u012b\u019e\u0260 {ok}-\u015e\u0167\u0159\u012b\u019e\u0260] PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 61%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 194s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 194s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 194s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 194s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 194s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 194s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 194s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 62%] 194s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 62%] 194s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 62%] 194s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 62%] 194s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 62%] 194s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 62%] 194s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 194s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 194s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 194s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 194s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 194s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 194s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 194s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 194s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 194s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 194s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 194s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 194s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 194s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 194s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 194s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 194s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 194s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 194s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 194s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 194s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 194s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 194s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 194s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 194s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 194s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 194s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 194s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 194s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 63%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 63%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 63%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 63%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 63%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 63%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 64%] 194s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 64%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 64%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 64%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 64%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 65%] 195s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 195s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 195s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 195s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 195s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 195s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 195s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 195s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 195s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 195s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 195s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 195s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 195s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 195s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 195s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 195s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 195s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 195s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 195s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 195s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 195s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 195s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 195s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 195s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 195s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 195s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 195s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 195s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 195s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 66%] 195s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 66%] 195s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 66%] 195s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 66%] 195s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 66%] 195s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 66%] 195s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 67%] 195s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 68%] 195s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 195s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 195s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 195s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 195s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 195s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 195s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 195s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 195s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 195s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 195s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 195s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 195s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 69%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 69%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 69%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 69%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 69%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 69%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 69%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 195s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 196s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 70%] 196s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 70%] 196s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 70%] 196s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 70%] 196s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 70%] 196s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 70%] 196s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 196s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 196s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 196s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 196s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 196s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 196s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 196s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 196s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 196s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 71%] 196s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 72%] 196s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 73%] 196s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 74%] 196s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 196s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 196s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 196s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 196s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 196s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 196s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 196s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 196s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 196s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 196s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 196s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 196s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 196s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 196s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 196s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 75%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 75%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 75%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 75%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 75%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 75%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 75%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 75%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 76%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 77%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 78%] 196s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 78%] 196s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 78%] 196s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 78%] 196s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 78%] 196s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 196s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 196s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 196s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 196s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 196s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 196s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 196s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 196s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 196s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 196s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 196s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 196s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 196s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 196s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 196s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 196s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 196s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 196s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 196s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 196s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 196s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 196s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 196s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 196s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 196s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 196s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 79%] 196s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 79%] 196s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 79%] 196s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 79%] 196s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 79%] 196s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 79%] 196s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 79%] 196s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 79%] 196s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 196s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 196s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 196s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 196s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 196s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 196s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 196s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 196s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 196s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 197s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 197s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 197s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 197s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 197s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 197s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 197s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 197s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 197s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 197s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 197s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 197s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 197s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 197s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 197s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 197s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 197s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 80%] 197s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 80%] 197s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 80%] 197s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 80%] 197s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 80%] 197s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 80%] 197s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 80%] 197s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 80%] 197s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 197s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 197s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 197s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 197s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 197s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 197s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 197s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 197s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 197s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 197s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 197s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 197s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 197s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 197s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 197s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 197s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 197s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 197s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 197s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 197s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 197s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 197s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 197s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 197s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 197s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 81%] 197s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 81%] 197s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 81%] 197s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 81%] 197s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 81%] 197s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 81%] 197s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 81%] 197s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 81%] 197s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 81%] 197s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 197s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 197s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 197s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 197s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 197s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 197s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 197s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 197s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 197s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 197s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 197s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 197s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 197s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 197s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 197s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 197s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 82%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 82%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 82%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 82%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 82%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 82%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 82%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 82%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 197s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 197s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 197s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 197s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 83%] 197s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 83%] 197s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 83%] 197s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 83%] 197s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 83%] 197s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 83%] 197s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 83%] 197s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 83%] 197s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 83%] 197s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 83%] 197s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_ordering PASSED [ 83%] 197s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create_blank PASSED [ 83%] 197s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_add PASSED [ 83%] 197s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_remove PASSED [ 83%] 197s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_find PASSED [ 83%] 197s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_parse PASSED [ 83%] 197s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_files PASSED [ 83%] 197s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_save PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_extensions PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_mimetypes PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_translate PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_markup PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_nonascii PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_ordering PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 84%] 197s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_ordering PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_ordering PASSED [ 84%] 197s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 85%] 197s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 85%] 197s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 85%] 197s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 197s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 197s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 197s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 197s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 197s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 197s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 197s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 197s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 197s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_ordering PASSED [ 85%] 197s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 197s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 197s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 197s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 197s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 197s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 197s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 197s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 197s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 197s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 197s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 197s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 197s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 197s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 197s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 197s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 197s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 197s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 197s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 197s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 197s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 197s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 86%] 197s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 86%] 197s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 86%] 197s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 86%] 197s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 197s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 197s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 197s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 197s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 197s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 197s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 197s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 197s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 197s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 197s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 197s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 197s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 197s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 197s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 197s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 197s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 197s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 197s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 197s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 197s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 197s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 197s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 197s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 197s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 197s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 197s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 197s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 197s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 197s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 197s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 87%] 197s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 87%] 197s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 87%] 197s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 197s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 197s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 197s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 197s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 197s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 197s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 197s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 197s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 197s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 197s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 197s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 197s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 197s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 197s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 197s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 197s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 197s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 197s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 197s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 197s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 197s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 197s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 88%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 88%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 88%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 197s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 197s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 197s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 197s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 197s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 197s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 197s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 197s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 197s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 197s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 197s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 197s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 197s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 197s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 197s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 89%] 197s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 89%] 197s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 89%] 197s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 197s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 197s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 197s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 197s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 197s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 197s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 197s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 197s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 197s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 197s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 197s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 197s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 197s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 197s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 197s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 197s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 197s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 197s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 197s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 197s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 197s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 197s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 197s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 197s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 197s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 197s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 197s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 197s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 197s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 197s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 197s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 197s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 197s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 197s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 197s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 197s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 197s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 197s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 197s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 197s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 197s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 197s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 92%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 197s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 198s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 198s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 92%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 93%] 198s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 198s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 198s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 198s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 198s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 198s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 198s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 198s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 198s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 198s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 198s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 198s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 198s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_blank PASSED [ 94%] 198s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_partial PASSED [ 94%] 198s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 198s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 198s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 198s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 198s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 198s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 198s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 198s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 198s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 198s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 198s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 198s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 198s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 198s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 198s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 198s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 198s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 198s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 198s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 198s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 95%] 198s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 95%] 198s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 95%] 198s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 198s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 198s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 198s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 198s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 198s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 198s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 198s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 198s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 198s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 198s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 198s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 198s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 198s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 198s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 198s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 198s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 198s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 198s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 198s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 198s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 198s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 198s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 198s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 198s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 198s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 198s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 198s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 198s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 198s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 198s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 198s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 96%] 198s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 198s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 198s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 198s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 198s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 198s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 198s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 198s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 198s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 198s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 198s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 198s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 198s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 198s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 198s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 198s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 198s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 198s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 198s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 198s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 198s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 198s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 198s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 198s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 198s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 198s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 198s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 198s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 198s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 198s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 198s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 198s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 198s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 198s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 198s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 198s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 198s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 198s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 198s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 198s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 198s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 198s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 198s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 198s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 198s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 198s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 198s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 198s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 198s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 198s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 198s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 198s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 198s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 198s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 198s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 198s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 199s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 199s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 199s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 199s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 199s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 199s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 199s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 199s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 199s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 199s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 199s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 199s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 199s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 199s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 199s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 199s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 199s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 199s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 199s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 199s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 199s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 199s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 199s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 199s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 199s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 199s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 199s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 199s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 199s 199s =============================== warnings summary =============================== 199s tests/translate/storage/test_cpo.py:15 199s Warning: 199s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 199s ImportError('gettext PO library not found') 199s In pytest 9.1 this warning will become an error by default. 199s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 199s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 199s 199s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 199s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AZvmBz/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 199s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 199s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 199s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 199s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 199s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 199s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 199s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 199s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 199s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 199s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 199s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 199s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 199s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 199s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 199s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 199s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 199s Warning: Could not find accesskey for key.accesskey 199s 199s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 199s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 199s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 199s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 199s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 199s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AZvmBz/autopkgtest_tmp/tests/translate/convert/test.idml'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 199s Warning: unclosed file <_io.BufferedReader name='translation.po'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 199s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 199s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 199s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 199s Warning: Could not find accesskey for prop.accesskey 199s 199s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 199s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 199s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 199s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 199s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 199s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 199s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 199s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 199s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 199s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 199s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 199s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AZvmBz/autopkgtest_tmp/tests/translate/convert/test.odt'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 199s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 199s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 199s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 199s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 199s Enable tracemalloc to get traceback where the object was allocated. 199s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 199s 199s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 199s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 199s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 199s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 199s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 199s 199s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 199s Warning: DTD parse error: :1:35:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 199s 199s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 199s Warning: DTD file '' does not validate 199s 199s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 199s --------------------------- snapshot report summary ---------------------------- 199s 23 snapshots passed. 199s =========================== short test summary info ============================ 199s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 199s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 199s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 199s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 199s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 199s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 199s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 199s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 199s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 199s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 199s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 199s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 199s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 199s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 199s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 199s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 199s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 199s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 199s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 199s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 199s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 199s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 199s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 199s XFAIL tests/translate/lang/test_common.py::test_word_khmer - ZWS is not considered a space in Python 2.6+. Khmer should extend words() to include \u200b in addition to other word breakers. 199s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 199s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 199s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 199s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 199s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 199s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 199s XFAIL tests/translate/storage/test_omegat.py::TestOtFile::test_extensions - This doesn't work, due to two store classes handling different extensions, but factory listing it as one supported file type 199s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 199s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 199s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 199s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 199s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 199s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 199s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 199s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 199s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 199s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 199s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 199s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 199s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 199s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 199s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 199s ========== 3324 passed, 22 skipped, 39 xfailed, 50 warnings in 14.44s ========== 200s autopkgtest [17:47:25]: test python3-translate: -----------------------] 200s python3-translate PASS 200s autopkgtest [17:47:25]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 201s autopkgtest [17:47:26]: test python3-translate-commands: preparing testbed 222s Creating nova instance adt-resolute-s390x-translate-toolkit-20251020-174404-juju-7f2275-prod-proposed-migration-environment-20-1741fedb-fe16-4d56-b20b-8ea0588f0d1d from image adt/ubuntu-resolute-s390x-server-20251020.img (UUID af6042e7-5f94-4102-8fd4-5557e2338897)... 254s autopkgtest [17:48:19]: testbed dpkg architecture: s390x 255s autopkgtest [17:48:20]: testbed apt version: 3.1.8ubuntu1 256s autopkgtest [17:48:20]: @@@@@@@@@@@@@@@@@@@@ test bed setup 256s autopkgtest [17:48:20]: testbed release detected to be: resolute 256s autopkgtest [17:48:21]: updating testbed package index (apt update) 256s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [83.3 kB] 256s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 256s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 257s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 257s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5028 B] 257s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [14.3 kB] 257s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [59.3 kB] 257s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [646 kB] 257s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main s390x Packages [108 kB] 257s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted s390x Packages [940 B] 257s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x Packages [395 kB] 258s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse s390x Packages [3812 B] 258s Fetched 1316 kB in 2s (739 kB/s) 258s Reading package lists... 259s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 259s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 259s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 259s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 261s Reading package lists... 261s Reading package lists... 261s Building dependency tree... 261s Reading state information... 261s Calculating upgrade... 261s The following packages will be upgraded: 261s libbrotli1 libjson-c5 python3-inflect python3-oauthlib python3-zipp 261s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 261s Need to get 554 kB of archives. 261s After this operation, 31.7 kB of additional disk space will be used. 261s Get:1 http://ftpmaster.internal/ubuntu resolute/main s390x libjson-c5 s390x 0.18+ds-1.1 [36.8 kB] 261s Get:2 http://ftpmaster.internal/ubuntu resolute/main s390x libbrotli1 s390x 1.1.0-2build6 [379 kB] 261s Get:3 http://ftpmaster.internal/ubuntu resolute/main s390x python3-inflect all 7.5.0-1 [33.9 kB] 261s Get:4 http://ftpmaster.internal/ubuntu resolute/main s390x python3-oauthlib all 3.3.1-1 [93.5 kB] 261s Get:5 http://ftpmaster.internal/ubuntu resolute/main s390x python3-zipp all 3.23.0-1 [10.4 kB] 262s dpkg-preconfigure: unable to re-open stdin: No such file or directory 262s Fetched 554 kB in 1s (670 kB/s) 262s (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 ... 56857 files and directories currently installed.) 262s Preparing to unpack .../libjson-c5_0.18+ds-1.1_s390x.deb ... 262s Unpacking libjson-c5:s390x (0.18+ds-1.1) over (0.18+ds-1) ... 262s Preparing to unpack .../libbrotli1_1.1.0-2build6_s390x.deb ... 262s Unpacking libbrotli1:s390x (1.1.0-2build6) over (1.1.0-2build5) ... 262s Preparing to unpack .../python3-inflect_7.5.0-1_all.deb ... 262s Unpacking python3-inflect (7.5.0-1) over (7.3.1-2) ... 262s Preparing to unpack .../python3-oauthlib_3.3.1-1_all.deb ... 262s Unpacking python3-oauthlib (3.3.1-1) over (3.2.2-3) ... 262s Preparing to unpack .../python3-zipp_3.23.0-1_all.deb ... 262s Unpacking python3-zipp (3.23.0-1) over (3.21.0-1) ... 262s Setting up libbrotli1:s390x (1.1.0-2build6) ... 262s Setting up python3-zipp (3.23.0-1) ... 262s Setting up python3-inflect (7.5.0-1) ... 262s Setting up python3-oauthlib (3.3.1-1) ... 262s Setting up libjson-c5:s390x (0.18+ds-1.1) ... 262s Processing triggers for libc-bin (2.42-0ubuntu3) ... 263s autopkgtest [17:48:28]: upgrading testbed (apt dist-upgrade and autopurge) 263s Reading package lists... 263s Building dependency tree... 263s Reading state information... 263s Calculating upgrade... 263s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 263s Reading package lists... 263s Building dependency tree... 263s Reading state information... 263s Solving dependencies... 264s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 266s Reading package lists... 266s Building dependency tree... 266s Reading state information... 266s Solving dependencies... 267s The following NEW packages will be installed: 267s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 267s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 267s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 267s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 267s python3-cheroot python3-cwcwidth python3-dateutil python3-diff-match-patch 267s python3-enchant python3-iniconfig python3-iniparse python3-levenshtein 267s python3-lxml python3-mistletoe python3-packaging python3-phply 267s python3-pluggy python3-ply python3-pycountry python3-pytest python3-pytz 267s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 267s python3-soupsieve python3-syrupy python3-translate python3-tz 267s python3-vobject python3-wcwidth python3-xapian subversion translate-toolkit 267s 0 upgraded, 49 newly installed, 0 to remove and 0 not upgraded. 267s Need to get 12.5 MB of archives. 267s After this operation, 55.9 MB of additional disk space will be used. 267s Get:1 http://ftpmaster.internal/ubuntu resolute/main s390x emacsen-common all 3.0.8 [13.9 kB] 267s Get:2 http://ftpmaster.internal/ubuntu resolute/main s390x dictionaries-common all 1.30.10 [178 kB] 267s Get:3 http://ftpmaster.internal/ubuntu resolute/main s390x libgomp1 s390x 15.2.0-5ubuntu1 [154 kB] 267s Get:4 http://ftpmaster.internal/ubuntu resolute/main s390x gettext s390x 0.23.1-2build2 [1062 kB] 268s Get:5 http://ftpmaster.internal/ubuntu resolute/main s390x hunspell-en-us all 1:2020.12.07-4 [585 kB] 268s Get:6 http://ftpmaster.internal/ubuntu resolute/main s390x libapr1t64 s390x 1.7.5-1 [114 kB] 268s Get:7 http://ftpmaster.internal/ubuntu resolute/main s390x libaprutil1t64 s390x 1.6.3-3ubuntu2 [98.4 kB] 268s Get:8 http://ftpmaster.internal/ubuntu resolute/main s390x libaspell15 s390x 0.60.8.1-4 [355 kB] 269s Get:9 http://ftpmaster.internal/ubuntu resolute/main s390x libhunspell-1.7-0 s390x 1.7.2+really1.7.2-10build3 [304 kB] 269s Get:10 http://ftpmaster.internal/ubuntu resolute/main s390x libenchant-2-2 s390x 2.8.2+dfsg1-3 [61.2 kB] 269s Get:11 http://ftpmaster.internal/ubuntu resolute/main s390x libexttextcat-data all 3.4.7-1ubuntu1 [193 kB] 269s Get:12 http://ftpmaster.internal/ubuntu resolute/universe s390x libserf-1-1 s390x 1.3.10-3ubuntu1 [49.8 kB] 269s Get:13 http://ftpmaster.internal/ubuntu resolute/universe s390x libutf8proc3 s390x 2.10.0-2 [72.0 kB] 269s Get:14 http://ftpmaster.internal/ubuntu resolute/universe s390x libsvn1 s390x 1.14.5-3 [1368 kB] 269s Get:15 http://ftpmaster.internal/ubuntu resolute/universe s390x libxapian30 s390x 1.4.29-3 [740 kB] 270s Get:16 http://ftpmaster.internal/ubuntu resolute/main s390x libxslt1.1 s390x 1.1.43-0.1 [163 kB] 270s Get:17 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-aeidon all 1.15-2 [231 kB] 271s Get:18 http://ftpmaster.internal/ubuntu resolute/main s390x python3-all s390x 3.13.7-1 [886 B] 271s Get:19 http://ftpmaster.internal/ubuntu resolute/main s390x python3-soupsieve all 2.7-2 [33.6 kB] 271s Get:20 http://ftpmaster.internal/ubuntu resolute/main s390x python3-bs4 all 4.13.4-3 [137 kB] 271s Get:21 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-charset-normalizer s390x 3.4.2-1 [129 kB] 271s Get:22 http://ftpmaster.internal/ubuntu resolute/main s390x python3-cheroot all 10.0.1+ds1-4 [78.6 kB] 271s Get:23 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-cwcwidth s390x 0.1.10-1build1 [22.9 kB] 271s Get:24 http://ftpmaster.internal/ubuntu resolute/main s390x python3-dateutil all 2.9.0-4 [80.3 kB] 271s Get:25 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-diff-match-patch all 20241021-1 [33.6 kB] 271s Get:26 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-enchant all 3.3.0~rc1-1 [35.1 kB] 271s Get:27 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-iniconfig all 1.1.1-2 [6024 B] 271s Get:28 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-rapidfuzz s390x 3.12.2+ds-1 [1562 kB] 271s Get:29 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-levenshtein s390x 0.27.1-2 [180 kB] 271s Get:30 http://ftpmaster.internal/ubuntu resolute/main s390x python3-lxml s390x 6.0.1-1 [1522 kB] 271s Get:31 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-mistletoe all 1.4.0-1 [38.2 kB] 271s Get:32 http://ftpmaster.internal/ubuntu resolute/main s390x python3-packaging all 25.0-1 [52.8 kB] 271s Get:33 http://ftpmaster.internal/ubuntu resolute/main s390x python3-ply all 3.11-9 [45.8 kB] 271s Get:34 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-phply all 1.2.6-1 [50.5 kB] 271s Get:35 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x python3-pluggy all 1.6.0-1 [21.0 kB] 271s Get:36 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x python3-pytest all 8.4.2-1 [268 kB] 271s Get:37 http://ftpmaster.internal/ubuntu resolute/main s390x python3-pytz all 2025.2-3 [163 kB] 271s Get:38 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-ruamel.yaml.clib s390x 0.2.12+ds-1build1 [151 kB] 271s Get:39 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 271s Get:40 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-syrupy all 4.9.1-1 [47.3 kB] 271s Get:41 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-translate all 3.15.1-1 [319 kB] 271s Get:42 http://ftpmaster.internal/ubuntu resolute/main s390x python3-tz all 2025.2-3 [1866 B] 271s Get:43 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-vobject all 0.9.8+dfsg-2 [41.3 kB] 271s Get:44 http://ftpmaster.internal/ubuntu resolute/main s390x python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 271s Get:45 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-xapian s390x 1.4.29-1build1 [572 kB] 271s Get:46 http://ftpmaster.internal/ubuntu resolute/universe s390x subversion s390x 1.14.5-3 [900 kB] 271s Get:47 http://ftpmaster.internal/ubuntu resolute/universe s390x translate-toolkit all 3.15.1-1 [81.0 kB] 271s Get:48 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-iniparse all 0.5.1-1 [21.2 kB] 271s Get:49 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 271s Preconfiguring packages ... 271s Fetched 12.5 MB in 4s (2888 kB/s) 271s Selecting previously unselected package emacsen-common. 271s (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 ... 56867 files and directories currently installed.) 271s Preparing to unpack .../00-emacsen-common_3.0.8_all.deb ... 271s Unpacking emacsen-common (3.0.8) ... 271s Selecting previously unselected package dictionaries-common. 271s Preparing to unpack .../01-dictionaries-common_1.30.10_all.deb ... 271s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 271s Unpacking dictionaries-common (1.30.10) ... 271s Selecting previously unselected package libgomp1:s390x. 271s Preparing to unpack .../02-libgomp1_15.2.0-5ubuntu1_s390x.deb ... 271s Unpacking libgomp1:s390x (15.2.0-5ubuntu1) ... 271s Selecting previously unselected package gettext. 271s Preparing to unpack .../03-gettext_0.23.1-2build2_s390x.deb ... 271s Unpacking gettext (0.23.1-2build2) ... 271s Selecting previously unselected package hunspell-en-us. 271s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-4_all.deb ... 271s Unpacking hunspell-en-us (1:2020.12.07-4) ... 271s Selecting previously unselected package libapr1t64:s390x. 271s Preparing to unpack .../05-libapr1t64_1.7.5-1_s390x.deb ... 271s Unpacking libapr1t64:s390x (1.7.5-1) ... 271s Selecting previously unselected package libaprutil1t64:s390x. 271s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu2_s390x.deb ... 271s Unpacking libaprutil1t64:s390x (1.6.3-3ubuntu2) ... 271s Selecting previously unselected package libaspell15:s390x. 271s Preparing to unpack .../07-libaspell15_0.60.8.1-4_s390x.deb ... 271s Unpacking libaspell15:s390x (0.60.8.1-4) ... 271s Selecting previously unselected package libhunspell-1.7-0:s390x. 271s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_s390x.deb ... 271s Unpacking libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 271s Selecting previously unselected package libenchant-2-2:s390x. 271s Preparing to unpack .../09-libenchant-2-2_2.8.2+dfsg1-3_s390x.deb ... 271s Unpacking libenchant-2-2:s390x (2.8.2+dfsg1-3) ... 271s Selecting previously unselected package libexttextcat-data. 271s Preparing to unpack .../10-libexttextcat-data_3.4.7-1ubuntu1_all.deb ... 271s Unpacking libexttextcat-data (3.4.7-1ubuntu1) ... 271s Selecting previously unselected package libserf-1-1:s390x. 271s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_s390x.deb ... 271s Unpacking libserf-1-1:s390x (1.3.10-3ubuntu1) ... 271s Selecting previously unselected package libutf8proc3:s390x. 271s Preparing to unpack .../12-libutf8proc3_2.10.0-2_s390x.deb ... 271s Unpacking libutf8proc3:s390x (2.10.0-2) ... 271s Selecting previously unselected package libsvn1:s390x. 271s Preparing to unpack .../13-libsvn1_1.14.5-3_s390x.deb ... 271s Unpacking libsvn1:s390x (1.14.5-3) ... 271s Selecting previously unselected package libxapian30:s390x. 271s Preparing to unpack .../14-libxapian30_1.4.29-3_s390x.deb ... 271s Unpacking libxapian30:s390x (1.4.29-3) ... 271s Selecting previously unselected package libxslt1.1:s390x. 271s Preparing to unpack .../15-libxslt1.1_1.1.43-0.1_s390x.deb ... 271s Unpacking libxslt1.1:s390x (1.1.43-0.1) ... 271s Selecting previously unselected package python3-aeidon. 271s Preparing to unpack .../16-python3-aeidon_1.15-2_all.deb ... 271s Unpacking python3-aeidon (1.15-2) ... 272s Selecting previously unselected package python3-all. 272s Preparing to unpack .../17-python3-all_3.13.7-1_s390x.deb ... 272s Unpacking python3-all (3.13.7-1) ... 272s Selecting previously unselected package python3-soupsieve. 272s Preparing to unpack .../18-python3-soupsieve_2.7-2_all.deb ... 272s Unpacking python3-soupsieve (2.7-2) ... 272s Selecting previously unselected package python3-bs4. 272s Preparing to unpack .../19-python3-bs4_4.13.4-3_all.deb ... 272s Unpacking python3-bs4 (4.13.4-3) ... 272s Selecting previously unselected package python3-charset-normalizer. 272s Preparing to unpack .../20-python3-charset-normalizer_3.4.2-1_s390x.deb ... 272s Unpacking python3-charset-normalizer (3.4.2-1) ... 272s Selecting previously unselected package python3-cheroot. 272s Preparing to unpack .../21-python3-cheroot_10.0.1+ds1-4_all.deb ... 272s Unpacking python3-cheroot (10.0.1+ds1-4) ... 272s Selecting previously unselected package python3-cwcwidth. 272s Preparing to unpack .../22-python3-cwcwidth_0.1.10-1build1_s390x.deb ... 272s Unpacking python3-cwcwidth (0.1.10-1build1) ... 272s Selecting previously unselected package python3-dateutil. 272s Preparing to unpack .../23-python3-dateutil_2.9.0-4_all.deb ... 272s Unpacking python3-dateutil (2.9.0-4) ... 272s Selecting previously unselected package python3-diff-match-patch. 272s Preparing to unpack .../24-python3-diff-match-patch_20241021-1_all.deb ... 272s Unpacking python3-diff-match-patch (20241021-1) ... 272s Selecting previously unselected package python3-enchant. 272s Preparing to unpack .../25-python3-enchant_3.3.0~rc1-1_all.deb ... 272s Unpacking python3-enchant (3.3.0~rc1-1) ... 272s Selecting previously unselected package python3-iniconfig. 272s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 272s Unpacking python3-iniconfig (1.1.1-2) ... 272s Selecting previously unselected package python3-rapidfuzz. 272s Preparing to unpack .../27-python3-rapidfuzz_3.12.2+ds-1_s390x.deb ... 272s Unpacking python3-rapidfuzz (3.12.2+ds-1) ... 272s Selecting previously unselected package python3-levenshtein. 272s Preparing to unpack .../28-python3-levenshtein_0.27.1-2_s390x.deb ... 272s Unpacking python3-levenshtein (0.27.1-2) ... 272s Selecting previously unselected package python3-lxml:s390x. 272s Preparing to unpack .../29-python3-lxml_6.0.1-1_s390x.deb ... 272s Unpacking python3-lxml:s390x (6.0.1-1) ... 272s Selecting previously unselected package python3-mistletoe. 272s Preparing to unpack .../30-python3-mistletoe_1.4.0-1_all.deb ... 272s Unpacking python3-mistletoe (1.4.0-1) ... 272s Selecting previously unselected package python3-packaging. 272s Preparing to unpack .../31-python3-packaging_25.0-1_all.deb ... 272s Unpacking python3-packaging (25.0-1) ... 272s Selecting previously unselected package python3-ply. 272s Preparing to unpack .../32-python3-ply_3.11-9_all.deb ... 272s Unpacking python3-ply (3.11-9) ... 272s Selecting previously unselected package python3-phply. 272s Preparing to unpack .../33-python3-phply_1.2.6-1_all.deb ... 272s Unpacking python3-phply (1.2.6-1) ... 272s Selecting previously unselected package python3-pluggy. 272s Preparing to unpack .../34-python3-pluggy_1.6.0-1_all.deb ... 272s Unpacking python3-pluggy (1.6.0-1) ... 272s Selecting previously unselected package python3-pytest. 272s Preparing to unpack .../35-python3-pytest_8.4.2-1_all.deb ... 272s Unpacking python3-pytest (8.4.2-1) ... 272s Selecting previously unselected package python3-pytz. 272s Preparing to unpack .../36-python3-pytz_2025.2-3_all.deb ... 272s Unpacking python3-pytz (2025.2-3) ... 272s Selecting previously unselected package python3-ruamel.yaml.clib. 272s Preparing to unpack .../37-python3-ruamel.yaml.clib_0.2.12+ds-1build1_s390x.deb ... 272s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 272s Selecting previously unselected package python3-ruamel.yaml. 272s Preparing to unpack .../38-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 272s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 272s Selecting previously unselected package python3-syrupy. 272s Preparing to unpack .../39-python3-syrupy_4.9.1-1_all.deb ... 272s Unpacking python3-syrupy (4.9.1-1) ... 272s Selecting previously unselected package python3-translate. 272s Preparing to unpack .../40-python3-translate_3.15.1-1_all.deb ... 272s Unpacking python3-translate (3.15.1-1) ... 272s Selecting previously unselected package python3-tz. 272s Preparing to unpack .../41-python3-tz_2025.2-3_all.deb ... 272s Unpacking python3-tz (2025.2-3) ... 272s Selecting previously unselected package python3-vobject. 272s Preparing to unpack .../42-python3-vobject_0.9.8+dfsg-2_all.deb ... 272s Unpacking python3-vobject (0.9.8+dfsg-2) ... 272s Selecting previously unselected package python3-wcwidth. 272s Preparing to unpack .../43-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 272s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 272s Selecting previously unselected package python3-xapian. 272s Preparing to unpack .../44-python3-xapian_1.4.29-1build1_s390x.deb ... 272s Unpacking python3-xapian (1.4.29-1build1) ... 272s Selecting previously unselected package subversion. 272s Preparing to unpack .../45-subversion_1.14.5-3_s390x.deb ... 272s Unpacking subversion (1.14.5-3) ... 272s Selecting previously unselected package translate-toolkit. 272s Preparing to unpack .../46-translate-toolkit_3.15.1-1_all.deb ... 272s Unpacking translate-toolkit (3.15.1-1) ... 272s Selecting previously unselected package python3-iniparse. 272s Preparing to unpack .../47-python3-iniparse_0.5.1-1_all.deb ... 272s Unpacking python3-iniparse (0.5.1-1) ... 272s Selecting previously unselected package python3-pycountry. 272s Preparing to unpack .../48-python3-pycountry_24.6.1+ds1-1_all.deb ... 272s Unpacking python3-pycountry (24.6.1+ds1-1) ... 272s Setting up python3-iniconfig (1.1.1-2) ... 272s Setting up libxapian30:s390x (1.4.29-3) ... 272s Setting up python3-rapidfuzz (3.12.2+ds-1) ... 272s Setting up python3-diff-match-patch (20241021-1) ... 272s Setting up python3-aeidon (1.15-2) ... 273s Setting up libutf8proc3:s390x (2.10.0-2) ... 273s Setting up libaspell15:s390x (0.60.8.1-4) ... 273s Setting up python3-charset-normalizer (3.4.2-1) ... 273s Setting up python3-ply (3.11-9) ... 273s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 273s Setting up python3-all (3.13.7-1) ... 273s Setting up python3-pytz (2025.2-3) ... 273s Setting up libgomp1:s390x (15.2.0-5ubuntu1) ... 273s Setting up python3-tz (2025.2-3) ... 273s Setting up python3-packaging (25.0-1) ... 273s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 273s Setting up emacsen-common (3.0.8) ... 273s Setting up python3-cheroot (10.0.1+ds1-4) ... 274s Setting up python3-pycountry (24.6.1+ds1-1) ... 274s Setting up python3-xapian (1.4.29-1build1) ... 274s Setting up python3-cwcwidth (0.1.10-1build1) ... 274s Setting up python3-pluggy (1.6.0-1) ... 274s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 274s Setting up python3-mistletoe (1.4.0-1) ... 274s Setting up libexttextcat-data (3.4.7-1ubuntu1) ... 274s Setting up libapr1t64:s390x (1.7.5-1) ... 274s Setting up libxslt1.1:s390x (1.1.43-0.1) ... 274s Setting up python3-dateutil (2.9.0-4) ... 274s Setting up python3-levenshtein (0.27.1-2) ... 274s Setting up libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 274s Setting up python3-soupsieve (2.7-2) ... 274s Setting up python3-iniparse (0.5.1-1) ... 275s Setting up libaprutil1t64:s390x (1.6.3-3ubuntu2) ... 275s Setting up python3-vobject (0.9.8+dfsg-2) ... 275s Setting up gettext (0.23.1-2build2) ... 275s Setting up python3-phply (1.2.6-1) ... 275s Setting up dictionaries-common (1.30.10) ... 275s Setting up python3-pytest (8.4.2-1) ... 275s Setting up python3-syrupy (4.9.1-1) ... 275s Setting up libserf-1-1:s390x (1.3.10-3ubuntu1) ... 275s Setting up python3-bs4 (4.13.4-3) ... 276s Setting up python3-lxml:s390x (6.0.1-1) ... 276s Setting up hunspell-en-us (1:2020.12.07-4) ... 276s Setting up libsvn1:s390x (1.14.5-3) ... 276s Setting up libenchant-2-2:s390x (2.8.2+dfsg1-3) ... 276s Setting up subversion (1.14.5-3) ... 276s Setting up python3-enchant (3.3.0~rc1-1) ... 276s Setting up python3-translate (3.15.1-1) ... 276s Setting up translate-toolkit (3.15.1-1) ... 276s Processing triggers for libc-bin (2.42-0ubuntu3) ... 276s Processing triggers for man-db (2.13.1-1) ... 278s Processing triggers for install-info (7.1.1-1ubuntu1) ... 278s Processing triggers for dictionaries-common (1.30.10) ... 283s autopkgtest [17:48:48]: test python3-translate-commands: [----------------------- 283s ============================= test session starts ============================== 283s platform linux -- Python 3.13.7, pytest-8.4.2, pluggy-1.6.0 -- /usr/bin/python3.13 283s cachedir: .pytest_cache 283s rootdir: /tmp/autopkgtest.AZvmBz/autopkgtest_tmp 283s plugins: syrupy-4.9.1, typeguard-4.4.2 287s collecting ... collected 3383 items / 2 skipped 287s 287s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 287s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 287s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 287s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 287s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 287s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 287s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 287s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 287s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 287s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 287s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 287s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 287s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 287s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 287s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 287s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 287s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 287s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 287s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 287s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 287s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 287s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 287s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 287s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 287s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 287s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 287s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 287s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 287s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 287s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 287s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 287s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 287s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 287s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 287s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 287s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 287s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 287s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 287s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 287s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 287s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 287s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 287s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 287s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 287s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 287s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 287s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 287s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 287s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 287s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 287s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 287s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 287s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 287s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 287s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 288s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 288s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 288s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 288s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 288s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 288s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 288s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 288s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 288s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 288s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 3%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 4%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 288s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 288s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 288s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 288s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 288s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 288s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 288s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 288s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 288s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 288s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 288s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 288s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 6%] 288s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 288s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 288s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 288s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 288s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 288s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 288s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 288s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 288s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 288s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 288s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 288s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 288s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 288s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 288s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 288s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 288s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 288s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 288s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 288s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 288s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 288s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 288s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 288s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 288s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 288s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 288s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 288s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 288s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 288s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 288s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 288s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 288s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 288s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 7%] 288s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 288s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 288s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 288s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 288s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 288s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 288s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 288s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 288s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 288s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 288s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 288s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 288s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 288s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 288s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 288s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 288s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 288s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 288s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 288s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 288s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 288s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 288s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 288s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 288s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 288s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 288s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 288s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 288s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 288s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 288s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 288s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 288s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 288s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 8%] 288s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 288s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 288s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 288s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 288s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 288s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 288s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 288s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 288s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 288s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 288s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 288s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 288s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 288s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 288s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 288s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 288s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 288s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 288s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 288s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 288s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 288s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 288s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 288s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 288s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 288s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 288s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 288s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 288s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 288s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 288s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 288s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 288s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 9%] 288s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 9%] 288s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 288s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 288s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 288s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 288s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 288s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 288s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 288s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 288s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 288s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 288s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 288s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 288s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 288s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 288s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 288s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 288s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 288s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 288s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 288s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 288s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 288s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 288s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 288s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 288s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 288s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 288s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 288s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 288s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 288s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 10%] 288s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 288s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 288s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 10%] 288s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 10%] 288s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 288s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 288s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 288s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 288s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 288s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 288s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 288s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 11%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 12%] 288s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 12%] 288s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 12%] 288s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 12%] 288s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 288s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 288s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 288s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 288s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 288s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 288s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 288s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 289s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 13%] 289s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 13%] 289s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 289s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 289s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 289s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 289s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 289s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 289s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 289s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 289s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 14%] 289s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 14%] 289s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 289s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 289s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 15%] 289s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 15%] 289s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 15%] 289s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 289s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 289s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 289s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 289s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 289s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 289s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 289s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 289s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 289s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 289s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 289s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 289s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 289s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 289s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 289s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 289s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 289s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 289s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 289s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 289s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 289s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 289s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 289s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 289s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 289s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 289s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 16%] 289s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 16%] 289s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 289s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 289s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 289s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 16%] 289s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 16%] 289s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 16%] 289s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 289s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 289s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 289s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 289s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 289s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 289s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 289s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 289s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 289s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 289s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 289s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 289s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 289s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 289s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 289s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 289s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 289s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 289s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 289s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 289s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 289s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 289s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 289s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 289s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 289s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 289s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 17%] 289s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 17%] 289s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 17%] 289s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 17%] 289s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 289s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 17%] 289s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 17%] 289s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 289s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 289s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 289s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 289s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 289s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 289s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 289s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 289s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 289s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 289s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 289s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 289s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 289s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 289s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 289s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 289s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 289s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 289s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 289s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 289s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 289s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 289s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 18%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 18%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 18%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 18%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 18%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 18%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 18%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 18%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 19%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 289s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 289s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 289s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 289s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 289s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 289s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 289s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 289s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 289s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 289s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 289s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 289s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 289s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 289s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 20%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 20%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 20%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 20%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 20%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 20%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 20%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 289s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 289s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 289s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 289s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 289s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 21%] 289s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 21%] 289s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 21%] 289s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 21%] 289s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 21%] 289s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 21%] 289s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 21%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 21%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 21%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 289s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 289s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 22%] 289s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 22%] 289s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 22%] 289s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 22%] 289s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 22%] 289s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 22%] 289s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 22%] 289s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 22%] 289s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 22%] 289s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 289s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 289s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 289s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 289s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 289s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 289s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 289s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 289s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 289s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 289s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 289s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 289s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 289s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 289s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 289s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 289s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 289s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 289s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 289s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 289s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 289s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 289s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 289s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 289s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 23%] 289s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 23%] 289s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 23%] 289s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 23%] 289s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 23%] 289s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 23%] 289s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 23%] 289s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 23%] 289s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 23%] 289s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 289s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 289s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 289s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 289s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 289s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 289s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 289s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 289s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 289s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 289s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 289s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 289s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 289s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 289s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 289s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 289s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 289s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 289s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 289s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 289s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 289s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 289s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 289s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 289s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 24%] 289s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 24%] 290s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 24%] 290s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 24%] 290s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 24%] 290s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 24%] 290s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 24%] 290s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 24%] 290s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 24%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 24%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 25%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 26%] 290s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 26%] 290s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 290s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 290s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 27%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 290s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 290s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 290s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 290s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 290s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 290s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 290s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 290s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 290s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 290s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 28%] 290s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 28%] 290s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 28%] 290s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 28%] 290s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 28%] 290s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 28%] 290s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 28%] 290s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 28%] 290s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 28%] 290s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 28%] 290s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 28%] 290s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 28%] 290s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 290s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 290s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 290s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 290s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 290s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 290s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 290s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 290s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 290s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 290s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 290s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 290s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 290s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 290s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 290s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 290s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 290s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 290s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 290s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 290s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 290s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 29%] 290s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 29%] 290s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 29%] 290s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 29%] 290s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 29%] 290s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 29%] 290s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 29%] 290s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 29%] 290s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 29%] 290s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 29%] 290s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 29%] 290s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 29%] 290s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 290s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 290s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 290s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 290s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 290s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 290s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 290s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 290s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 290s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 290s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 290s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 290s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 290s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 290s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 290s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 290s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 290s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 290s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 290s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 290s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 290s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 290s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 30%] 290s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 30%] 290s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 30%] 290s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 30%] 290s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 30%] 290s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 30%] 290s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 30%] 290s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 30%] 290s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 30%] 290s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 30%] 290s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 30%] 290s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 30%] 290s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 290s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 290s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 290s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 290s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 290s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 290s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 290s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 290s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 290s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 290s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 290s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 290s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 290s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 290s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 290s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 290s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 290s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 290s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 290s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 290s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 290s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 31%] 290s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 31%] 290s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 31%] 290s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 31%] 291s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 31%] 291s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 31%] 291s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 31%] 291s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 31%] 291s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 31%] 291s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 31%] 291s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 31%] 291s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 31%] 291s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 31%] 291s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 291s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_long PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 32%] 291s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_numbers PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_options PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_printf PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 32%] 291s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 291s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 291s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 33%] 291s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_functions PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_emails PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_urls PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_credits PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_gconf PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_validxml PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 33%] 291s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 291s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 291s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 291s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 291s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 291s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 291s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 291s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 291s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 291s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 291s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 291s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 34%] 291s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 35%] 291s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 291s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 291s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 291s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 291s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 291s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 291s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 291s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 291s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 291s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 291s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 291s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 291s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 291s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 291s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 291s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 291s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 291s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 291s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 291s tests/translate/lang/test_common.py::test_alter_length PASSED [ 36%] 291s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 36%] 291s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 36%] 291s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 36%] 291s tests/translate/lang/test_el.py::test_sentences PASSED [ 36%] 291s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 36%] 291s tests/translate/lang/test_es.py::test_sentences PASSED [ 36%] 291s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 36%] 291s tests/translate/lang/test_fa.py::test_sentences PASSED [ 36%] 291s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 36%] 291s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 36%] 291s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 36%] 291s tests/translate/lang/test_fr.py::test_sentences PASSED [ 36%] 291s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 36%] 291s tests/translate/lang/test_hy.py::test_sentences PASSED [ 36%] 291s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 291s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 291s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 291s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 291s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 291s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 291s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 291s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 291s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 291s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 291s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 291s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 291s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 291s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 291s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 291s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 291s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 291s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 291s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 291s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 37%] 291s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 37%] 291s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 37%] 291s tests/translate/lang/test_team.py::test_simple PASSED [ 37%] 291s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 37%] 291s tests/translate/lang/test_th.py::test_sentences PASSED [ 37%] 291s tests/translate/lang/test_tr.py::test_sentences PASSED [ 37%] 291s tests/translate/lang/test_uk.py::test_sentences PASSED [ 37%] 291s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 37%] 291s tests/translate/lang/test_vi.py::test_sentences PASSED [ 37%] 291s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 37%] 291s tests/translate/lang/test_zh.py::test_sentences PASSED [ 37%] 291s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 37%] 291s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 37%] 291s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 37%] 291s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 291s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 38%] 291s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 291s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 291s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 291s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 291s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 291s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 291s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 291s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 291s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 291s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 291s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 291s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 291s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 291s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 291s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 291s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 291s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 291s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 38%] 291s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 38%] 291s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 38%] 291s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 38%] 291s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 38%] 291s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 38%] 291s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 38%] 291s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 38%] 291s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 38%] 291s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 38%] 291s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 38%] 291s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 38%] 291s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 38%] 291s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 38%] 291s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 38%] 291s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 291s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 291s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 291s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 291s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 291s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 291s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 291s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 291s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 291s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 292s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 39%] 292s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 292s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 292s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 292s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 292s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 292s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 292s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 292s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 292s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 292s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 292s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 292s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 292s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 292s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 292s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 292s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 292s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 292s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 292s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 40%] 292s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 40%] 292s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 40%] 292s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 40%] 292s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 40%] 292s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 40%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 42%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 44%] 292s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 292s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 292s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 292s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 292s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 292s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 292s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 292s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 292s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 292s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 292s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 292s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 292s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 292s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 292s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 292s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 292s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 292s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 292s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 292s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 292s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 292s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 292s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 45%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 45%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 45%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 45%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 45%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 45%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 292s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 292s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 292s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 292s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 292s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 292s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 292s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 292s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 292s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 292s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 46%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 46%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 46%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 46%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 46%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 46%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 292s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding_save PASSED [ 47%] 292s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 292s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 292s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 292s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 292s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 292s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 292s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 292s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 292s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 292s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 292s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 292s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 292s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 292s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 292s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 47%] 292s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 47%] 292s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 47%] 292s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 47%] 292s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 47%] 292s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 47%] 292s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 48%] 292s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 292s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 292s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 292s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 292s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 292s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 292s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 292s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 292s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 292s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 292s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 292s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 292s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 292s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 292s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 292s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 292s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 292s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 292s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 292s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 292s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 292s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 292s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 292s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 292s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 292s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 292s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 292s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 49%] 292s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 49%] 292s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 49%] 292s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 49%] 292s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 49%] 292s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 49%] 292s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 292s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 292s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 292s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 292s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 292s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 292s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 292s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 292s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 292s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 292s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 292s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 292s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 292s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 292s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 292s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 292s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 292s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 292s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 292s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 292s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 292s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 292s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 292s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 292s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 292s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 292s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 292s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 292s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 292s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 292s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 292s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 292s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 292s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 292s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 51%] 292s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 51%] 292s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 51%] 292s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 51%] 292s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 292s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 292s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 292s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 292s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_comments PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 54%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 56%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 57%] 292s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 292s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 292s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 292s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 292s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 292s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 292s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 58%] 292s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_invalid_nesting PASSED [ 58%] 292s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 292s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 292s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 292s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 292s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 292s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 292s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 292s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 292s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 292s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 292s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 292s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 292s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 292s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 58%] 292s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_invalid PASSED [ 58%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 58%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 58%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 58%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 58%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 292s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 292s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 292s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 292s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 59%] 292s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 59%] 292s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 59%] 292s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 59%] 292s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 59%] 292s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 292s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 292s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 292s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 292s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 292s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 292s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 292s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 292s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 292s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 292s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 292s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 292s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 292s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 292s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 292s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 292s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 292s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 60%] 292s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 292s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 292s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 292s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 292s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 292s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 292s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 292s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 292s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 292s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 292s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 292s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 60%] 292s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 60%] 292s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 60%] 292s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 60%] 292s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 60%] 292s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 292s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 292s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 292s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 292s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[\u015e\u0167\u0159\u012b\u019e\u0260 {ok}-\u015e\u0167\u0159\u012b\u019e\u0260] PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 61%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 292s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 292s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 292s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 292s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 292s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 292s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 292s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 62%] 292s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 62%] 292s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 62%] 292s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 62%] 292s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 62%] 292s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 62%] 292s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 292s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 292s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 292s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 292s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 292s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 292s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 292s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 292s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 292s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 292s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 292s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 292s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 292s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 292s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 292s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 292s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 292s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 292s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 292s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 292s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 292s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 292s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 292s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 292s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 292s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 292s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 292s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 292s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 63%] 292s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 63%] 292s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 63%] 292s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 63%] 292s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 63%] 292s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 63%] 292s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 292s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 292s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 292s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 292s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 292s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 292s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 64%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 65%] 293s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 293s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 293s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 293s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 293s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 293s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 293s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 293s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 293s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 293s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 293s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 293s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 293s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 293s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 293s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 293s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 293s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 293s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 293s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 293s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 293s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 293s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 293s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 293s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 293s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 293s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 293s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 293s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 293s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 66%] 293s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 66%] 293s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 66%] 293s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 66%] 293s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 66%] 293s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 66%] 293s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 67%] 293s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 68%] 293s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 293s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 293s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 293s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 293s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 293s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 293s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 293s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 293s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 293s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 293s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 293s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 293s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 69%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 69%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 69%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 69%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 69%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 69%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 69%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 293s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 294s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 70%] 294s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 70%] 294s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 70%] 294s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 70%] 294s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 70%] 294s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 70%] 294s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 294s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 294s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 294s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 294s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 294s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 294s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 294s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 294s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 294s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 71%] 294s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 72%] 294s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 73%] 294s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 74%] 294s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 294s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 294s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 294s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 294s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 294s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 294s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 294s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 294s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 294s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 294s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 294s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 294s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 294s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 294s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 294s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 75%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 75%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 75%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 75%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 75%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 75%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 75%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 75%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 76%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 77%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 78%] 294s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 78%] 294s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 78%] 294s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 78%] 294s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 78%] 294s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 294s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 294s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 294s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 294s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 294s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 294s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 294s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 294s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 294s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 294s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 294s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 294s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 294s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 294s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 294s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 294s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 294s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 294s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 294s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 294s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 294s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 294s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 294s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 294s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 294s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 294s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 79%] 294s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 79%] 294s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 79%] 294s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 79%] 294s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 79%] 294s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 79%] 294s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 79%] 294s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 79%] 294s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 294s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 294s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 294s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 294s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 294s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 294s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 294s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 294s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 294s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 294s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 294s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 294s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 294s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 294s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 294s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 294s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 294s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 295s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 295s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 295s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 295s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 295s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 295s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 295s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 295s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 295s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 80%] 295s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 80%] 295s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 80%] 295s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 80%] 295s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 80%] 295s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 80%] 295s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 80%] 295s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 80%] 295s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 295s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 295s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 295s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 295s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 295s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 295s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 295s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 295s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 295s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 295s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 295s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 295s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 295s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 295s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 295s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 295s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 295s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 295s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 295s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 295s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 295s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 295s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 295s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 295s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 295s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 81%] 295s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 81%] 295s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 81%] 295s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 81%] 295s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 81%] 295s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 81%] 295s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 81%] 295s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 81%] 295s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 81%] 295s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 295s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 295s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 295s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 295s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 295s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 295s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 295s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 295s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 295s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 295s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 295s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 295s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 295s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 295s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 295s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 295s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 82%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 82%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 82%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 82%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 82%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 82%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 82%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 82%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 295s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 295s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 295s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 295s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 83%] 295s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 83%] 295s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 83%] 295s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 83%] 295s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 83%] 295s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 83%] 295s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 83%] 295s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 83%] 295s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 83%] 295s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 83%] 295s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_ordering PASSED [ 83%] 295s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create_blank PASSED [ 83%] 295s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_add PASSED [ 83%] 295s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_remove PASSED [ 83%] 295s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_find PASSED [ 83%] 295s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_parse PASSED [ 83%] 295s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_files PASSED [ 83%] 295s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_save PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_extensions PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_mimetypes PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_translate PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_markup PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_nonascii PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_ordering PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 84%] 295s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_ordering PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_ordering PASSED [ 84%] 295s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 85%] 295s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 85%] 295s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 85%] 295s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 295s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 295s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 295s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 295s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 295s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 295s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 295s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 295s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 295s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_ordering PASSED [ 85%] 295s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 295s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 295s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 295s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 295s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 295s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 295s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 295s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 295s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 295s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 295s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 295s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 295s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 295s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 295s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 295s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 295s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 295s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 295s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 295s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 295s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 295s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 86%] 295s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 86%] 295s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 86%] 295s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 86%] 295s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 295s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 295s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 295s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 295s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 295s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 295s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 295s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 295s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 295s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 295s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 295s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 295s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 295s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 295s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 295s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 295s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 295s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 295s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 295s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 295s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 295s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 295s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 295s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 295s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 295s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 295s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 295s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 295s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 295s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 295s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 87%] 295s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 87%] 295s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 87%] 295s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 295s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 295s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 295s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 295s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 295s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 295s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 295s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 295s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 295s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 295s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 295s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 295s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 295s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 295s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 295s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 295s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 295s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 295s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 295s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 295s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 295s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 295s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 88%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 88%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 88%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 295s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 295s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 295s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 295s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 295s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 295s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 295s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 295s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 295s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 295s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 295s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 295s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 295s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 295s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 295s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 89%] 295s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 89%] 295s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 89%] 295s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 295s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 295s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 295s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 295s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 295s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 295s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 295s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 295s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 295s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 295s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 295s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 295s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 295s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 295s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 295s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 295s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 295s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 295s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 295s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 295s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 295s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 295s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 295s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 295s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 295s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 295s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 295s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 295s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 295s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 295s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 295s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 295s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 295s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 295s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 295s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 295s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 295s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 295s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 295s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 295s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 295s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 295s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 92%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 295s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 296s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 296s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 92%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 93%] 296s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 296s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 296s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 296s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 296s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 296s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 296s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 296s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 296s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 296s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 296s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 296s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 296s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_blank PASSED [ 94%] 296s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_partial PASSED [ 94%] 296s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 296s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 296s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 296s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 296s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 296s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 296s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 296s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 296s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 296s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 296s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 296s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 296s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 296s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 296s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 296s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 296s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 296s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 296s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 296s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 95%] 296s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 95%] 296s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 95%] 296s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 296s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 296s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 296s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 297s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 297s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 297s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 297s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 297s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 297s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 297s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 297s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 297s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 297s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 297s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 297s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 297s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 297s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 297s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 297s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 297s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 297s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 297s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 297s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 297s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 297s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 297s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 297s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 297s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 297s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 297s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 297s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 96%] 297s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 297s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 297s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 297s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 297s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 297s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 297s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 297s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 297s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 297s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 297s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 297s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 297s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 297s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 297s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 297s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 297s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 297s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 297s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 297s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 297s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 297s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 297s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 297s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 297s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 297s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 297s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 297s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 297s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 297s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 297s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 297s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 297s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 297s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 297s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 297s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 297s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 297s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 297s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 297s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 297s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 297s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 297s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 297s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 297s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 297s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 297s 297s =============================== warnings summary =============================== 297s tests/translate/storage/test_cpo.py:15 297s Warning: 297s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 297s ImportError('gettext PO library not found') 297s In pytest 9.1 this warning will become an error by default. 297s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 297s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 297s 297s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 297s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AZvmBz/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 297s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 297s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 297s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 297s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 297s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 297s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 297s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 297s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 297s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 297s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 297s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 297s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 297s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 297s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 297s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 297s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 297s Warning: Could not find accesskey for key.accesskey 297s 297s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 297s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 297s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 297s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 297s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 297s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AZvmBz/autopkgtest_tmp/tests/translate/convert/test.idml'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 297s Warning: unclosed file <_io.BufferedReader name='translation.po'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 297s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 297s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 297s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 297s Warning: Could not find accesskey for prop.accesskey 297s 297s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 297s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 297s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 297s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 297s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 297s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 297s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 297s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 297s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 297s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 297s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 297s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.AZvmBz/autopkgtest_tmp/tests/translate/convert/test.odt'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 297s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 297s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 297s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 297s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 297s Enable tracemalloc to get traceback where the object was allocated. 297s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 297s 297s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 297s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 297s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 297s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 297s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 297s 297s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 297s Warning: DTD parse error: :1:35:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 297s 297s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 297s Warning: DTD file '' does not validate 297s 297s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 297s --------------------------- snapshot report summary ---------------------------- 297s 23 snapshots passed. 297s =========================== short test summary info ============================ 297s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 297s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 297s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 297s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 297s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 297s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 297s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 297s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 297s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 297s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 297s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 297s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 297s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 297s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 297s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 297s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 297s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 297s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 297s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 297s XFAIL tests/translate/lang/test_common.py::test_word_khmer - ZWS is not considered a space in Python 2.6+. Khmer should extend words() to include \u200b in addition to other word breakers. 297s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 297s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 297s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 297s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 297s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 298s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 298s XFAIL tests/translate/storage/test_omegat.py::TestOtFile::test_extensions - This doesn't work, due to two store classes handling different extensions, but factory listing it as one supported file type 298s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 298s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 298s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 298s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 298s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 298s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 298s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 298s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 298s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 298s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 298s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 298s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 298s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 298s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 298s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 298s ========== 3343 passed, 3 skipped, 39 xfailed, 50 warnings in 14.21s =========== 298s autopkgtest [17:49:03]: test python3-translate-commands: -----------------------] 299s python3-translate-commands PASS 299s autopkgtest [17:49:04]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 299s autopkgtest [17:49:04]: @@@@@@@@@@@@@@@@@@@@ summary 299s translate-toolkit PASS 299s python3-translate PASS 299s python3-translate-commands PASS