0s autopkgtest [06:04:07]: starting date and time: 2025-10-28 06:04:07+0000 0s autopkgtest [06:04:07]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [06:04:07]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.opbqtxdf/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:beautifulsoup4 --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=beautifulsoup4/4.14.2-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-s390x --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos03-s390x-4.secgroup --name adt-resolute-s390x-translate-toolkit-20251028-060407-juju-7f2275-prod-proposed-migration-environment-2-2b10bf49-d4e1-46a3-9263-6545b98adf53 --image adt/ubuntu-resolute-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration-s390x -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 4s Creating nova instance adt-resolute-s390x-translate-toolkit-20251028-060407-juju-7f2275-prod-proposed-migration-environment-2-2b10bf49-d4e1-46a3-9263-6545b98adf53 from image adt/ubuntu-resolute-s390x-server-20251028.img (UUID 222a8a17-8cdf-422e-baeb-91db113eb3ff)... 49s autopkgtest [06:04:56]: testbed dpkg architecture: s390x 49s autopkgtest [06:04:56]: testbed apt version: 3.1.8ubuntu1 49s autopkgtest [06:04:56]: @@@@@@@@@@@@@@@@@@@@ test bed setup 49s autopkgtest [06:04:56]: testbed release detected to be: None 50s autopkgtest [06:04:57]: updating testbed package index (apt update) 50s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 51s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 51s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 51s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 51s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5856 B] 51s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [3342 kB] 52s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [216 kB] 52s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [61.7 kB] 53s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main s390x Packages [231 kB] 53s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted s390x Packages [940 B] 53s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x Packages [692 kB] 53s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse s390x Packages [5116 B] 53s Fetched 4642 kB in 3s (1816 kB/s) 53s Reading package lists... 55s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 55s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 55s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 55s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 56s Reading package lists... 56s Reading package lists... 56s Building dependency tree... 56s Reading state information... 56s Calculating upgrade... 56s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 56s autopkgtest [06:05:03]: upgrading testbed (apt dist-upgrade and autopurge) 56s Reading package lists... 56s Building dependency tree... 56s Reading state information... 56s Calculating upgrade... 57s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 57s Reading package lists... 57s Building dependency tree... 57s Reading state information... 57s Solving dependencies... 57s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 61s autopkgtest [06:05:08]: testbed running kernel: Linux 6.17.0-5-generic #5-Ubuntu SMP Mon Sep 22 08:56:47 UTC 2025 61s autopkgtest [06:05:08]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 65s Get:1 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.15.1-1 (dsc) [3193 B] 65s Get:2 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.15.1-1 (tar) [1170 kB] 65s Get:3 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.15.1-1 (diff) [24.9 kB] 65s gpgv: Signature made Fri Mar 14 13:03:50 2025 UTC 65s gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 65s gpgv: Can't check signature: No public key 65s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.15.1-1.dsc: no acceptable signature found 66s autopkgtest [06:05:13]: testing package translate-toolkit version 3.15.1-1 66s autopkgtest [06:05:13]: build not needed 69s autopkgtest [06:05:16]: 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-vobject python3-xapian subversion 69s translate-toolkit 69s 0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded. 69s Need to get 13.1 MB of archives. 69s After this operation, 62.6 MB of additional disk space will be used. 69s Get:1 http://ftpmaster.internal/ubuntu resolute/main s390x emacsen-common all 3.0.8 [13.9 kB] 69s 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] 70s Get:5 http://ftpmaster.internal/ubuntu resolute/main s390x hunspell-en-us all 1:2020.12.07-4 [585 kB] 71s Get:6 http://ftpmaster.internal/ubuntu resolute/main s390x libapr1t64 s390x 1.7.5-1 [114 kB] 71s Get:7 http://ftpmaster.internal/ubuntu resolute/main s390x libaprutil1t64 s390x 1.6.3-3ubuntu2 [98.4 kB] 71s Get:8 http://ftpmaster.internal/ubuntu resolute/main s390x libaspell15 s390x 0.60.8.1-4 [355 kB] 71s Get:9 http://ftpmaster.internal/ubuntu resolute/main s390x libhunspell-1.7-0 s390x 1.7.2+really1.7.2-10build3 [304 kB] 71s Get:10 http://ftpmaster.internal/ubuntu resolute/main s390x libenchant-2-2 s390x 2.8.2+dfsg1-3 [61.2 kB] 71s 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-4 [1359 kB] 73s Get:15 http://ftpmaster.internal/ubuntu resolute/universe s390x libxapian30 s390x 1.4.29-3 [740 kB] 73s Get:16 http://ftpmaster.internal/ubuntu resolute/main s390x libxslt1.1 s390x 1.1.43-0.3 [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-proposed/main s390x python3-bs4 all 4.14.2-1 [82.8 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-1build2 [28.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-1build1 [1790 kB] 76s Get:27 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-levenshtein s390x 0.27.1-2build1 [181 kB] 77s Get:28 http://ftpmaster.internal/ubuntu resolute/main s390x python3-lxml s390x 6.0.1-1build1 [2480 kB] 79s Get:29 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-mistletoe all 1.4.0-1 [38.2 kB] 79s Get:30 http://ftpmaster.internal/ubuntu resolute/main s390x python3-ply all 3.11-9 [45.8 kB] 79s Get:31 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-phply all 1.2.6-1 [50.5 kB] 79s Get:32 http://ftpmaster.internal/ubuntu resolute/main s390x python3-pytz all 2025.2-4 [32.3 kB] 79s Get:33 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-ruamel.yaml.clib s390x 0.2.12+ds-1build1 [151 kB] 79s Get:34 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 79s Get:35 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-translate all 3.15.1-1 [319 kB] 79s Get:36 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-vobject all 0.9.9+dfsg-1 [41.5 kB] 79s Get:37 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-xapian s390x 1.4.29-1build1 [572 kB] 80s Get:38 http://ftpmaster.internal/ubuntu resolute/universe s390x subversion s390x 1.14.5-4 [899 kB] 80s Get:39 http://ftpmaster.internal/ubuntu resolute/universe s390x translate-toolkit all 3.15.1-1 [81.0 kB] 80s Get:40 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-iniparse all 0.5.1-1 [21.2 kB] 81s Get:41 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 81s Preconfiguring packages ... 81s Fetched 13.1 MB in 11s (1144 kB/s) 81s Selecting previously unselected package emacsen-common. 81s (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 ... 56948 files and directories currently installed.) 81s Preparing to unpack .../00-emacsen-common_3.0.8_all.deb ... 81s Unpacking emacsen-common (3.0.8) ... 81s Selecting previously unselected package dictionaries-common. 81s Preparing to unpack .../01-dictionaries-common_1.30.10_all.deb ... 81s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 81s Unpacking dictionaries-common (1.30.10) ... 81s Selecting previously unselected package libgomp1:s390x. 81s Preparing to unpack .../02-libgomp1_15.2.0-5ubuntu1_s390x.deb ... 81s Unpacking libgomp1:s390x (15.2.0-5ubuntu1) ... 81s Selecting previously unselected package gettext. 81s Preparing to unpack .../03-gettext_0.23.1-2build2_s390x.deb ... 81s Unpacking gettext (0.23.1-2build2) ... 81s Selecting previously unselected package hunspell-en-us. 81s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-4_all.deb ... 81s Unpacking hunspell-en-us (1:2020.12.07-4) ... 81s Selecting previously unselected package libapr1t64:s390x. 81s Preparing to unpack .../05-libapr1t64_1.7.5-1_s390x.deb ... 81s Unpacking libapr1t64:s390x (1.7.5-1) ... 81s Selecting previously unselected package libaprutil1t64:s390x. 81s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu2_s390x.deb ... 81s Unpacking libaprutil1t64:s390x (1.6.3-3ubuntu2) ... 81s Selecting previously unselected package libaspell15:s390x. 81s Preparing to unpack .../07-libaspell15_0.60.8.1-4_s390x.deb ... 81s Unpacking libaspell15:s390x (0.60.8.1-4) ... 81s Selecting previously unselected package libhunspell-1.7-0:s390x. 81s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_s390x.deb ... 81s Unpacking libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 81s Selecting previously unselected package libenchant-2-2:s390x. 81s Preparing to unpack .../09-libenchant-2-2_2.8.2+dfsg1-3_s390x.deb ... 81s Unpacking libenchant-2-2:s390x (2.8.2+dfsg1-3) ... 81s Selecting previously unselected package libexttextcat-data. 81s Preparing to unpack .../10-libexttextcat-data_3.4.7-1ubuntu1_all.deb ... 81s Unpacking libexttextcat-data (3.4.7-1ubuntu1) ... 81s Selecting previously unselected package libserf-1-1:s390x. 81s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_s390x.deb ... 81s Unpacking libserf-1-1:s390x (1.3.10-3ubuntu1) ... 81s Selecting previously unselected package libutf8proc3:s390x. 81s Preparing to unpack .../12-libutf8proc3_2.10.0-2_s390x.deb ... 81s Unpacking libutf8proc3:s390x (2.10.0-2) ... 81s Selecting previously unselected package libsvn1:s390x. 81s Preparing to unpack .../13-libsvn1_1.14.5-4_s390x.deb ... 81s Unpacking libsvn1:s390x (1.14.5-4) ... 81s Selecting previously unselected package libxapian30:s390x. 81s Preparing to unpack .../14-libxapian30_1.4.29-3_s390x.deb ... 81s Unpacking libxapian30:s390x (1.4.29-3) ... 81s Selecting previously unselected package libxslt1.1:s390x. 81s Preparing to unpack .../15-libxslt1.1_1.1.43-0.3_s390x.deb ... 81s Unpacking libxslt1.1:s390x (1.1.43-0.3) ... 81s Selecting previously unselected package python3-aeidon. 81s Preparing to unpack .../16-python3-aeidon_1.15-2_all.deb ... 81s Unpacking python3-aeidon (1.15-2) ... 81s Selecting previously unselected package python3-soupsieve. 81s Preparing to unpack .../17-python3-soupsieve_2.7-2_all.deb ... 81s Unpacking python3-soupsieve (2.7-2) ... 81s Selecting previously unselected package python3-bs4. 81s Preparing to unpack .../18-python3-bs4_4.14.2-1_all.deb ... 81s Unpacking python3-bs4 (4.14.2-1) ... 81s Selecting previously unselected package python3-charset-normalizer. 81s Preparing to unpack .../19-python3-charset-normalizer_3.4.2-1_s390x.deb ... 81s Unpacking python3-charset-normalizer (3.4.2-1) ... 81s Selecting previously unselected package python3-cheroot. 81s Preparing to unpack .../20-python3-cheroot_10.0.1+ds1-4_all.deb ... 81s Unpacking python3-cheroot (10.0.1+ds1-4) ... 81s Selecting previously unselected package python3-cwcwidth. 81s Preparing to unpack .../21-python3-cwcwidth_0.1.10-1build2_s390x.deb ... 81s Unpacking python3-cwcwidth (0.1.10-1build2) ... 81s Selecting previously unselected package python3-dateutil. 81s Preparing to unpack .../22-python3-dateutil_2.9.0-4_all.deb ... 81s Unpacking python3-dateutil (2.9.0-4) ... 81s Selecting previously unselected package python3-diff-match-patch. 81s Preparing to unpack .../23-python3-diff-match-patch_20241021-1_all.deb ... 81s Unpacking python3-diff-match-patch (20241021-1) ... 81s Selecting previously unselected package python3-enchant. 81s Preparing to unpack .../24-python3-enchant_3.3.0~rc1-1_all.deb ... 81s Unpacking python3-enchant (3.3.0~rc1-1) ... 81s Selecting previously unselected package python3-rapidfuzz. 81s Preparing to unpack .../25-python3-rapidfuzz_3.12.2+ds-1build1_s390x.deb ... 81s Unpacking python3-rapidfuzz (3.12.2+ds-1build1) ... 81s Selecting previously unselected package python3-levenshtein. 81s Preparing to unpack .../26-python3-levenshtein_0.27.1-2build1_s390x.deb ... 81s Unpacking python3-levenshtein (0.27.1-2build1) ... 81s Selecting previously unselected package python3-lxml:s390x. 81s Preparing to unpack .../27-python3-lxml_6.0.1-1build1_s390x.deb ... 81s Unpacking python3-lxml:s390x (6.0.1-1build1) ... 81s Selecting previously unselected package python3-mistletoe. 81s Preparing to unpack .../28-python3-mistletoe_1.4.0-1_all.deb ... 81s Unpacking python3-mistletoe (1.4.0-1) ... 81s Selecting previously unselected package python3-ply. 81s Preparing to unpack .../29-python3-ply_3.11-9_all.deb ... 81s Unpacking python3-ply (3.11-9) ... 81s Selecting previously unselected package python3-phply. 81s Preparing to unpack .../30-python3-phply_1.2.6-1_all.deb ... 81s Unpacking python3-phply (1.2.6-1) ... 81s Selecting previously unselected package python3-pytz. 81s Preparing to unpack .../31-python3-pytz_2025.2-4_all.deb ... 81s Unpacking python3-pytz (2025.2-4) ... 81s Selecting previously unselected package python3-ruamel.yaml.clib. 81s Preparing to unpack .../32-python3-ruamel.yaml.clib_0.2.12+ds-1build1_s390x.deb ... 81s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 81s Selecting previously unselected package python3-ruamel.yaml. 81s Preparing to unpack .../33-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 81s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 81s Selecting previously unselected package python3-translate. 81s Preparing to unpack .../34-python3-translate_3.15.1-1_all.deb ... 81s Unpacking python3-translate (3.15.1-1) ... 81s Selecting previously unselected package python3-vobject. 81s Preparing to unpack .../35-python3-vobject_0.9.9+dfsg-1_all.deb ... 81s Unpacking python3-vobject (0.9.9+dfsg-1) ... 81s Selecting previously unselected package python3-xapian. 81s Preparing to unpack .../36-python3-xapian_1.4.29-1build1_s390x.deb ... 81s Unpacking python3-xapian (1.4.29-1build1) ... 82s Selecting previously unselected package subversion. 82s Preparing to unpack .../37-subversion_1.14.5-4_s390x.deb ... 82s Unpacking subversion (1.14.5-4) ... 82s Selecting previously unselected package translate-toolkit. 82s Preparing to unpack .../38-translate-toolkit_3.15.1-1_all.deb ... 82s Unpacking translate-toolkit (3.15.1-1) ... 82s Selecting previously unselected package python3-iniparse. 82s Preparing to unpack .../39-python3-iniparse_0.5.1-1_all.deb ... 82s Unpacking python3-iniparse (0.5.1-1) ... 82s Selecting previously unselected package python3-pycountry. 82s Preparing to unpack .../40-python3-pycountry_24.6.1+ds1-1_all.deb ... 82s Unpacking python3-pycountry (24.6.1+ds1-1) ... 82s Setting up libxapian30:s390x (1.4.29-3) ... 82s Setting up python3-rapidfuzz (3.12.2+ds-1build1) ... 82s Setting up python3-diff-match-patch (20241021-1) ... 82s Setting up python3-aeidon (1.15-2) ... 82s Setting up libutf8proc3:s390x (2.10.0-2) ... 82s Setting up libaspell15:s390x (0.60.8.1-4) ... 82s Setting up python3-charset-normalizer (3.4.2-1) ... 82s Setting up python3-ply (3.11-9) ... 82s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 82s Setting up python3-pytz (2025.2-4) ... 82s Setting up libgomp1:s390x (15.2.0-5ubuntu1) ... 82s Setting up emacsen-common (3.0.8) ... 82s Setting up python3-cheroot (10.0.1+ds1-4) ... 82s Setting up python3-pycountry (24.6.1+ds1-1) ... 82s Setting up python3-xapian (1.4.29-1build1) ... 82s Setting up python3-cwcwidth (0.1.10-1build2) ... 83s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 83s Setting up python3-mistletoe (1.4.0-1) ... 83s Setting up libexttextcat-data (3.4.7-1ubuntu1) ... 83s Setting up libapr1t64:s390x (1.7.5-1) ... 83s Setting up libxslt1.1:s390x (1.1.43-0.3) ... 83s Setting up python3-dateutil (2.9.0-4) ... 83s Setting up python3-levenshtein (0.27.1-2build1) ... 83s Setting up libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 83s Setting up python3-soupsieve (2.7-2) ... 83s Setting up python3-iniparse (0.5.1-1) ... 83s Setting up libaprutil1t64:s390x (1.6.3-3ubuntu2) ... 83s Setting up python3-vobject (0.9.9+dfsg-1) ... 83s Setting up gettext (0.23.1-2build2) ... 83s Setting up python3-phply (1.2.6-1) ... 83s Setting up dictionaries-common (1.30.10) ... 84s Setting up libserf-1-1:s390x (1.3.10-3ubuntu1) ... 84s Setting up python3-bs4 (4.14.2-1) ... 84s Setting up python3-lxml:s390x (6.0.1-1build1) ... 84s Setting up hunspell-en-us (1:2020.12.07-4) ... 84s Setting up libsvn1:s390x (1.14.5-4) ... 84s Setting up libenchant-2-2:s390x (2.8.2+dfsg1-3) ... 84s Setting up subversion (1.14.5-4) ... 84s Setting up python3-enchant (3.3.0~rc1-1) ... 84s Setting up python3-translate (3.15.1-1) ... 84s Setting up translate-toolkit (3.15.1-1) ... 84s Processing triggers for libc-bin (2.42-0ubuntu3) ... 84s Processing triggers for man-db (2.13.1-1) ... 85s Processing triggers for install-info (7.1.1-1ubuntu1) ... 85s Processing triggers for dictionaries-common (1.30.10) ... 87s autopkgtest [06:05:34]: test translate-toolkit: [----------------------- 87s ========= SMOKE TEST: /usr/bin/android2po =========== 87s Usage: android2po [--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 Android string files to Gettext PO localization files. See: 87s http://docs.translatehouse.org/projects/translate- 87s toolkit/en/latest/commands/android2po.html for examples and usage 87s 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 xml format 87s -x EXCLUDE, --exclude=EXCLUDE 87s exclude names matching EXCLUDE from input paths 87s -o OUTPUT, --output=OUTPUT 87s write to OUTPUT in po, pot formats 87s -t TEMPLATE, --template=TEMPLATE 87s read from TEMPLATE in xml format 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/build_tmdb =========== 87s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 87s input files [input files ...] 87s 87s positional arguments: 87s input files 87s 87s options: 87s -h, --help show this help message and exit 87s -d, --tmdb TMDB_FILE translation memory database file (default: tm.db) 87s -s, --import-source-lang SOURCE_LANG 87s source language of translation files (default: en) 87s -t, --import-target-lang TARGET_LANG 87s target language of translation files 87s ========= SMOKE TEST: /usr/bin/csv2po =========== 87s 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] 87s 87s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 87s See: http://docs.translatehouse.org/projects/translate- 87s toolkit/en/latest/commands/csv2po.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 csv format 87s -x EXCLUDE, --exclude=EXCLUDE 87s exclude names matching EXCLUDE from input paths 87s -o OUTPUT, --output=OUTPUT 87s write to OUTPUT in po, pot formats 87s -t TEMPLATE, --template=TEMPLATE 87s read from TEMPLATE in po, pot, pot formats 87s -S, --timestamp skip conversion if the output file has newer timestamp 87s -P, --pot output PO Templates (.pot) rather than PO files (.po) 87s --charset=CHARSET set charset to decode from csv files 87s --columnorder=COLUMNORDER 87s specify the order and position of columns 87s (location,source,target,context) 87s --duplicates=DUPLICATESTYLE 87s what to do with duplicate strings (identical source 87s text): merge, msgctxt (default: 'msgctxt') 87s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 87s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 87s 87s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 87s glossary file. See: http://docs.translatehouse.org/projects/translate- 87s toolkit/en/latest/commands/csv2tbx.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 csv format 87s -x EXCLUDE, --exclude=EXCLUDE 87s exclude names matching EXCLUDE from input paths 87s -o OUTPUT, --output=OUTPUT 87s write to OUTPUT in tbx format 87s -S, --timestamp skip conversion if the output file has newer timestamp 87s --charset=CHARSET set charset to decode from csv files 87s --columnorder=COLUMNORDER 87s specify the order and position of columns 87s (comment,source,target) 87s ========= SMOKE TEST: /usr/bin/dtd2po =========== 87s 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] 87s 87s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 87s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 87s this module You can convert back to .dtd using po2dtd.py. 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 dtd format 87s -x EXCLUDE, --exclude=EXCLUDE 87s exclude names matching EXCLUDE from input paths 87s -o OUTPUT, --output=OUTPUT 87s write to OUTPUT in po, pot formats 87s -t TEMPLATE, --template=TEMPLATE 87s read from TEMPLATE in dtd format 87s -S, --timestamp skip conversion if the output file has newer timestamp 87s -P, --pot output PO Templates (.pot) rather than PO files (.po) 87s --duplicates=DUPLICATESTYLE 87s what to do with duplicate strings (identical source 87s text): merge, msgctxt (default: 'msgctxt') 87s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 88s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 88s 88s Convert flat XML files to Gettext PO localization files. See: 88s http://docs.translatehouse.org/projects/translate- 88s toolkit/en/latest/commands/flatxml2po.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 xml format 88s -x EXCLUDE, --exclude=EXCLUDE 88s exclude names matching EXCLUDE from input paths 88s -o OUTPUT, --output=OUTPUT 88s write to OUTPUT in po, pot formats 88s -S, --timestamp skip conversion if the output file has newer timestamp 88s -r ROOT, --root=ROOT name of the XML root element (default: "root") 88s -v VALUE, --value=VALUE 88s name of the XML value element (default: "str") 88s -k KEY, --key=KEY name of the XML key attribute (default: "key") 88s -n NS, --namespace=NS 88s XML namespace uri (default: None) 88s ========= SMOKE TEST: /usr/bin/html2po =========== 88s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 88s 88s Convert HTML files to Gettext PO localization files. See: 88s http://docs.translatehouse.org/projects/translate- 88s toolkit/en/latest/commands/html2po.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 htm, html, xhtml formats 88s -x EXCLUDE, --exclude=EXCLUDE 88s exclude names matching EXCLUDE from input paths 88s -o OUTPUT, --output=OUTPUT 88s write to OUTPUT in po, pot formats 88s -S, --timestamp skip conversion if the output file has newer timestamp 88s -P, --pot output PO Templates (.pot) rather than PO files (.po) 88s --keepcomments preserve html comments as translation notes in the 88s output 88s --duplicates=DUPLICATESTYLE 88s what to do with duplicate strings (identical source 88s text): merge, msgctxt (default: 'msgctxt') 88s --multifile=MULTIFILESTYLE 88s how to split po/pot files (single, toplevel or 88s onefile) 88s ========= SMOKE TEST: /usr/bin/ical2po =========== 88s 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] 88s 88s Convert iCalendar files to Gettext PO localization files. See: 88s http://docs.translatehouse.org/projects/translate- 88s toolkit/en/latest/commands/ical2po.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 ics format 88s -x EXCLUDE, --exclude=EXCLUDE 88s exclude names matching EXCLUDE from input paths 88s -o OUTPUT, --output=OUTPUT 88s write to OUTPUT in po, pot formats 88s -t TEMPLATE, --template=TEMPLATE 88s read from TEMPLATE in ics format 88s -S, --timestamp skip conversion if the output file has newer timestamp 88s -P, --pot output PO Templates (.pot) rather than PO files (.po) 88s --duplicates=DUPLICATESTYLE 88s what to do with duplicate strings (identical source 88s text): merge, msgctxt (default: 'msgctxt') 88s ========= SMOKE TEST: /usr/bin/idml2po =========== 88s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 88s 88s Convert IDML files to PO localization files. 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 idml format 88s -x EXCLUDE, --exclude=EXCLUDE 88s exclude names matching EXCLUDE from input paths 88s -o OUTPUT, --output=OUTPUT 88s write to OUTPUT in po, pot formats 88s -S, --timestamp skip conversion if the output file has newer timestamp 88s ========= SMOKE TEST: /usr/bin/ini2po =========== 88s 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] 88s 88s Convert .ini files to Gettext PO localization files. See: 88s http://docs.translatehouse.org/projects/translate- 88s toolkit/en/latest/commands/ini2po.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 ini, isl, iss formats 88s -x EXCLUDE, --exclude=EXCLUDE 88s exclude names matching EXCLUDE from input paths 88s -o OUTPUT, --output=OUTPUT 88s write to OUTPUT in po, pot formats 88s -t TEMPLATE, --template=TEMPLATE 88s read from TEMPLATE in ini, isl, iss formats 88s -S, --timestamp skip conversion if the output file has newer timestamp 88s -P, --pot output PO Templates (.pot) rather than PO files (.po) 88s --duplicates=DUPLICATESTYLE 88s what to do with duplicate strings (identical source 88s text): merge, msgctxt (default: 'msgctxt') 88s ========= SMOKE TEST: /usr/bin/json2po =========== 88s 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] 88s 88s Convert JSON files to Gettext PO localization files. See: 88s http://docs.translatehouse.org/projects/translate- 88s toolkit/en/latest/commands/json2po.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 json format 88s -x EXCLUDE, --exclude=EXCLUDE 88s exclude names matching EXCLUDE from input paths 88s -o OUTPUT, --output=OUTPUT 88s write to OUTPUT in po, pot formats 88s -t TEMPLATE, --template=TEMPLATE 88s read from TEMPLATE in json format 88s -S, --timestamp skip conversion if the output file has newer timestamp 88s -P, --pot output PO Templates (.pot) rather than PO files (.po) 88s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 88s everything) 88s --duplicates=DUPLICATESTYLE 88s what to do with duplicate strings (identical source 88s text): merge, msgctxt (default: 'msgctxt') 88s ========= SMOKE TEST: /usr/bin/md2po =========== 88s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 88s 88s Convert Markdown files to Gettext PO localization files. See: 88s http://docs.translatehouse.org/projects/translate- 88s toolkit/en/latest/commands/md2po.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 markdown, md, text, txt formats 88s -x EXCLUDE, --exclude=EXCLUDE 88s exclude names matching EXCLUDE from input paths 88s -o OUTPUT, --output=OUTPUT 88s write to OUTPUT in po, pot formats 88s -S, --timestamp skip conversion if the output file has newer timestamp 88s -P, --pot output PO Templates (.pot) rather than PO files (.po) 88s --duplicates=DUPLICATESTYLE 88s what to do with duplicate strings (identical source 88s text): merge, msgctxt (default: 'msgctxt') 88s --multifile=MULTIFILESTYLE 88s how to split po/pot files (single, toplevel or 88s onefile) 89s ========= SMOKE TEST: /usr/bin/moz2po =========== 89s 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] 89s 89s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 89s See: http://docs.translatehouse.org/projects/translate- 89s toolkit/en/latest/commands/moz2po.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 *, dtd, inc, ini, it, js, lang, 89s manifest, properties, rdf formats 89s -x EXCLUDE, --exclude=EXCLUDE 89s exclude names matching EXCLUDE from input paths 89s -o OUTPUT, --output=OUTPUT 89s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 89s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 89s lang.pot, manifest, properties.po, properties.pot, rdf 89s formats 89s -t TEMPLATE, --template=TEMPLATE 89s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 89s manifest, properties, rdf formats 89s -S, --timestamp skip conversion if the output file has newer timestamp 89s -P, --pot output PO Templates (.pot) rather than PO files (.po) 89s --duplicates=DUPLICATESTYLE 89s what to do with duplicate strings (identical source 89s text): merge, msgctxt (default: 'msgctxt') 89s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 89s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 89s 89s Convert Mozilla .lang files to Gettext PO localization files. 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 lang 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, pot formats 89s -S, --timestamp skip conversion if the output file has newer timestamp 89s -P, --pot output PO Templates (.pot) rather than PO files (.po) 89s --encoding=ENCODING The encoding of the input file (default: UTF-8) 89s --duplicates=DUPLICATESTYLE 89s what to do with duplicate strings (identical source 89s text): merge, msgctxt (default: 'msgctxt') 89s ========= SMOKE TEST: /usr/bin/msghack =========== 89s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 89s This program can be used to alter .po files in ways no sane mind would think about. 89s -o result will be written to FILE 89s --invert invert a po file by switching msgid and msgstr 89s --master join any number of files in a master-formatted catalog 89s --empty empty the contents of the .po file, creating a .pot 89s --append append entries from ref.po that don't exist in file.po 89s 89s Note: It is just a replacement of msghack for backward support. 89s 89s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 89s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 89s 89s Convert OpenDocument (ODF) files to XLIFF localization files. See: 89s http://docs.translatehouse.org/projects/translate- 89s toolkit/en/latest/commands/odf2xliff.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 odc, odf, odg, odi, odm, odp, ods, 89s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 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 xlf, xliff formats 89s -S, --timestamp skip conversion if the output file has newer timestamp 89s ========= SMOKE TEST: /usr/bin/oo2po =========== 89s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 89s 89s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 89s files. See: http://docs.translatehouse.org/projects/translate- 89s toolkit/en/latest/commands/oo2po.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 oo, sdf 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 formats 89s -S, --timestamp skip conversion if the output file has newer timestamp 89s -P, --pot output PO Templates (.pot) rather than PO files (.po) 89s -l LANG, --language=LANG 89s set target language to extract from oo file (e.g. af- 89s ZA) 89s --source-language=LANG 89s set source language code (default en-US) 89s --nonrecursiveinput don't treat the input oo as a recursive store 89s --duplicates=DUPLICATESTYLE 89s what to do with duplicate strings (identical source 89s text): merge, msgctxt (default: 'msgctxt') 89s --multifile=MULTIFILESTYLE 89s how to split po/pot files (single, toplevel or 89s onefile) 89s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 89s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 89s 89s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 89s files. See: http://docs.translatehouse.org/projects/translate- 89s toolkit/en/latest/commands/oo2po.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 oo, sdf formats 89s -x EXCLUDE, --exclude=EXCLUDE 89s exclude names matching EXCLUDE from input paths 89s -o OUTPUT, --output=OUTPUT 89s write to OUTPUT in xlf, xliff formats 89s -S, --timestamp skip conversion if the output file has newer timestamp 89s -l LANG, --language=LANG 89s set target language to extract from oo file (e.g. af- 89s ZA) 89s --source-language=LANG 89s set source language code (default en-US) 89s --nonrecursiveinput don't treat the input oo as a recursive store 89s --duplicates=DUPLICATESTYLE 89s what to do with duplicate strings (identical source 89s text): merge, msgctxt (default: 'msgctxt') 89s --multifile=MULTIFILESTYLE 89s how to split po/pot files (single, toplevel or 89s onefile) 89s ========= SMOKE TEST: /usr/bin/php2po =========== 89s 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] 89s 89s Convert PHP localization files to Gettext PO localization files. See: 89s http://docs.translatehouse.org/projects/translate- 89s toolkit/en/latest/commands/php2po.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 html, php 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 formats 89s -t TEMPLATE, --template=TEMPLATE 89s read from TEMPLATE in html, php formats 89s -S, --timestamp skip conversion if the output file has newer timestamp 89s -P, --pot output PO Templates (.pot) rather than PO files (.po) 89s --duplicates=DUPLICATESTYLE 89s what to do with duplicate strings (identical source 89s text): merge, msgctxt (default: 'msgctxt') 89s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 89s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 89s 89s Convert PHP format .po files to Python format .po files. 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 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 formats 89s -S, --timestamp skip conversion if the output file has newer timestamp 89s ========= SMOKE TEST: /usr/bin/po2csv =========== 89s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 89s 89s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 89s See: http://docs.translatehouse.org/projects/translate- 89s toolkit/en/latest/commands/csv2po.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 formats 89s -x EXCLUDE, --exclude=EXCLUDE 89s exclude names matching EXCLUDE from input paths 89s -o OUTPUT, --output=OUTPUT 89s write to OUTPUT in csv format 89s -S, --timestamp skip conversion if the output file has newer timestamp 89s --columnorder=COLUMNORDER 89s specify the order and position of columns 89s (location,source,target,context) 89s ========= SMOKE TEST: /usr/bin/po2dtd =========== 89s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 89s 89s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 89s Conversion is either done using a template plus PO file or just using the 89s .po file. 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 formats 89s -x EXCLUDE, --exclude=EXCLUDE 89s exclude names matching EXCLUDE from input paths 89s -o OUTPUT, --output=OUTPUT 89s write to OUTPUT in dtd format 89s -t TEMPLATE, --template=TEMPLATE 89s read from TEMPLATE in dtd format 89s -S, --timestamp skip conversion if the output file has newer timestamp 89s --threshold=PERCENT only convert files where the translation completion is 89s above PERCENT 89s --fuzzy use translations marked fuzzy 89s --nofuzzy don't use translations marked fuzzy (default) 89s --removeuntranslated remove untranslated strings from output 89s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 89s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 89s 89s Convert Gettext PO localization files to flat XML files. See: 89s http://docs.translatehouse.org/projects/translate- 89s toolkit/en/latest/commands/flatxml2po.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, pot formats 89s -x EXCLUDE, --exclude=EXCLUDE 89s exclude names matching EXCLUDE from input paths 89s -o OUTPUT, --output=OUTPUT 89s write to OUTPUT in xml format 89s -t TEMPLATE, --template=TEMPLATE 89s read from TEMPLATE in xml format 89s -S, --timestamp skip conversion if the output file has newer timestamp 89s -r ROOT, --root=ROOT name of the XML root element (default: "root") 89s -v VALUE, --value=VALUE 89s name of the XML value element (default: "str") 90s -k KEY, --key=KEY name of the XML key attribute (default: "key") 90s -n NS, --namespace=NS 90s XML namespace uri (default: None) 90s -w INDENT, --indent=INDENT 90s indent width in spaces, 0 for no indent (default: 2) 90s ========= SMOKE TEST: /usr/bin/po2html =========== 90s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 90s 90s Translate HTML files using Gettext PO localization files. See: 90s http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/html2po.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 htm, html, xhtml formats 90s -t TEMPLATE, --template=TEMPLATE 90s read from TEMPLATE in htm, html, xhtml formats 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s --threshold=PERCENT only convert files where the translation completion is 90s above PERCENT 90s --fuzzy use translations marked fuzzy 90s --nofuzzy don't use translations marked fuzzy (default) 90s ========= SMOKE TEST: /usr/bin/po2ical =========== 90s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 90s 90s Convert Gettext PO localization files to iCalendar files. See: 90s http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/ical2po.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 ics format 90s -t TEMPLATE, --template=TEMPLATE 90s read from TEMPLATE in ics format 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s --threshold=PERCENT only convert files where the translation completion is 90s above PERCENT 90s --fuzzy use translations marked fuzzy 90s --nofuzzy don't use translations marked fuzzy (default) 90s ========= SMOKE TEST: /usr/bin/po2idml =========== 90s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 90s 90s Takes an IDML template file and a PO file containing translations of strings 90s in the IDML template. It creates a new IDML file using the translations of the 90s PO file. 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 idml format 90s -t TEMPLATE, --template=TEMPLATE 90s read from TEMPLATE in idml format 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s ========= SMOKE TEST: /usr/bin/po2ini =========== 90s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 90s 90s Convert Gettext PO localization files to .ini files. See: 90s http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/ini2po.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 ini, isl formats 90s -t TEMPLATE, --template=TEMPLATE 90s read from TEMPLATE in ini, isl formats 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s --threshold=PERCENT only convert files where the translation completion is 90s above PERCENT 90s --fuzzy use translations marked fuzzy 90s --nofuzzy don't use translations marked fuzzy (default) 90s ========= SMOKE TEST: /usr/bin/po2json =========== 90s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 90s 90s Convert Gettext PO localization files to JSON files. See: 90s http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/json2po.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 json format 90s -t TEMPLATE, --template=TEMPLATE 90s read from TEMPLATE in json format 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s --threshold=PERCENT only convert files where the translation completion is 90s above PERCENT 90s --fuzzy use translations marked fuzzy 90s --nofuzzy don't use translations marked fuzzy (default) 90s --removeuntranslated remove untranslated strings from output 90s ========= SMOKE TEST: /usr/bin/po2md =========== 90s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 90s 90s Translate Markdown files using Gettext PO localization files. See: 90s http://docs.translatehouse.org/projects/translate- 90s toolkit/en/latest/commands/md2po.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 markdown, md, text, txt formats 90s -t TEMPLATE, --template=TEMPLATE 90s read from TEMPLATE in markdown, md, text, txt formats 90s -S, --timestamp skip conversion if the output file has newer timestamp 90s -m MAXLENGTH, --maxlinelength=MAXLENGTH 90s reflow (word wrap) the output to the given maximum 90s line length. set to 0 to disable 90s --threshold=PERCENT only convert files where the translation completion is 90s above PERCENT 90s --fuzzy use translations marked fuzzy 90s --nofuzzy don't use translations marked fuzzy (default) 90s ========= SMOKE TEST: /usr/bin/po2moz =========== 91s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 91s 91s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 91s See: http://docs.translatehouse.org/projects/translate- 91s toolkit/en/latest/commands/moz2po.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 *, dtd.po, dtd.pot, inc.po, 91s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 91s lang.pot, manifest, properties.po, properties.pot, rdf 91s formats 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 91s manifest, properties, rdf formats 91s -t TEMPLATE, --template=TEMPLATE 91s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 91s manifest, properties, rdf formats 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s -l LOCALE, --locale=LOCALE 91s set output locale (required as this sets the directory 91s names) 91s --threshold=PERCENT only convert files where the translation completion is 91s above PERCENT 91s --fuzzy use translations marked fuzzy 91s --nofuzzy don't use translations marked fuzzy (default) 91s --removeuntranslated remove untranslated strings from output 91s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 91s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 91s 91s Convert Gettext PO localization files to Mozilla .lang files. 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 po, pot formats 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in lang format 91s -t TEMPLATE, --template=TEMPLATE 91s read from TEMPLATE in lang format 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s --mark-active mark the file as active 91s --threshold=PERCENT only convert files where the translation completion is 91s above PERCENT 91s --fuzzy use translations marked fuzzy 91s --nofuzzy don't use translations marked fuzzy (default) 91s ========= SMOKE TEST: /usr/bin/po2oo =========== 91s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 91s 91s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 91s file. See: http://docs.translatehouse.org/projects/translate- 91s toolkit/en/latest/commands/oo2po.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 po, pot, xlf, xliff formats 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in oo, sdf formats 91s -t TEMPLATE, --template=TEMPLATE 91s read from TEMPLATE in oo, sdf formats 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s -l LANG, --language=LANG 91s set target language code (e.g. af-ZA) [required] 91s --source-language=LANG 91s set source language code (default en-US) 91s -T, --keeptimestamp don't change the timestamps of the strings 91s --nonrecursiveoutput don't treat the output oo as a recursive store 91s --nonrecursivetemplate 91s don't treat the template oo as a recursive store 91s --skipsource don't output the source language, but fallback to it 91s where needed 91s --filteraction=ACTION 91s action on pofilter failure: none (default), warn, 91s exclude-serious, exclude-all 91s --threshold=PERCENT only convert files where the translation completion is 91s above PERCENT 91s --fuzzy use translations marked fuzzy 91s --nofuzzy don't use translations marked fuzzy (default) 91s --multifile=MULTIFILESTYLE 91s how to split po/pot files (single, toplevel or 91s onefile) 91s ========= SMOKE TEST: /usr/bin/po2php =========== 91s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 91s 91s Convert Gettext PO localization files to PHP localization files. See: 91s http://docs.translatehouse.org/projects/translate- 91s toolkit/en/latest/commands/php2po.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 po, pot formats 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in html, php formats 91s -t TEMPLATE, --template=TEMPLATE 91s read from TEMPLATE in html, php formats 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s --threshold=PERCENT only convert files where the translation completion is 91s above PERCENT 91s --fuzzy use translations marked fuzzy 91s --nofuzzy don't use translations marked fuzzy (default) 91s ========= SMOKE TEST: /usr/bin/po2prop =========== 91s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 91s 91s Convert Gettext PO localization files to Java/Mozilla .properties files. 91s See: http://docs.translatehouse.org/projects/translate- 91s toolkit/en/latest/commands/prop2po.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 po, pot formats 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in lang, properties, strings formats 91s -t TEMPLATE, --template=TEMPLATE 91s read from TEMPLATE in lang, properties, strings 91s formats 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s --personality=TYPE override the input file format: java, java-utf8, java- 91s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 91s strings, strings-utf8, joomla (for .properties files, 91s default: java) 91s --encoding=ENCODING override the encoding set by the personality 91s --threshold=PERCENT only convert files where the translation completion is 91s above PERCENT 91s --fuzzy use translations marked fuzzy 91s --nofuzzy don't use translations marked fuzzy (default) 91s --removeuntranslated remove untranslated strings from output 91s ========= SMOKE TEST: /usr/bin/po2rc =========== 91s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 91s 91s Convert Gettext PO localization files back to Windows Resource (.rc) files. 91s See: 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 po, pot formats 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in rc format 91s -t TEMPLATE, --template=TEMPLATE 91s read from TEMPLATE in rc format 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s --charset=CHARSET charset to use to decode the template RC files 91s (default: utf-8) 91s --charset-output=CHARSET 91s charset to use to encode the RC file (default: auto) 91s -l LANG, --lang=LANG LANG entry 91s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 91s --threshold=PERCENT only convert files where the translation completion is 91s above PERCENT 91s --fuzzy use translations marked fuzzy 91s --nofuzzy don't use translations marked fuzzy (default) 91s ========= SMOKE TEST: /usr/bin/po2resx =========== 91s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 91s 91s Convert Gettext PO localisation files to .Net Resource (.resx) 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 po, pot formats 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in resx format 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 --fuzzy use translations marked fuzzy 91s --nofuzzy don't use translations marked fuzzy (default) 91s ========= SMOKE TEST: /usr/bin/po2sub =========== 91s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 91s 91s Convert Gettext PO localization files to subtitle 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 po, pot formats 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in ass, srt, ssa, sub 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 --threshold=PERCENT only convert files where the translation completion is 91s above PERCENT 91s --fuzzy use translations marked fuzzy 91s --nofuzzy don't use translations marked fuzzy (default) 91s ========= SMOKE TEST: /usr/bin/po2symb =========== 91s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 91s 91s Convert Gettext PO localization files to Symbian translation 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 po, pot formats 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in r0 format 91s -t TEMPLATE, --template=TEMPLATE 91s read from TEMPLATE in 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s --duplicates=DUPLICATESTYLE 91s what to do with duplicate strings (identical source 91s text): merge, msgctxt (default: 'msgctxt') 91s ========= SMOKE TEST: /usr/bin/po2tiki =========== 91s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 91s 91s Convert Gettext PO files to TikiWiki's language.php 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 po, pot formats 91s -x EXCLUDE, --exclude=EXCLUDE 91s exclude names matching EXCLUDE from input paths 91s -o OUTPUT, --output=OUTPUT 91s write to OUTPUT in tiki format 91s -S, --timestamp skip conversion if the output file has newer timestamp 91s ========= SMOKE TEST: /usr/bin/po2tmx =========== 92s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 92s 92s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 92s file. See: http://docs.translatehouse.org/projects/translate- 92s toolkit/en/latest/commands/po2tmx.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 formats 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in tmx format 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) 92s --comments=COMMENT set default comment import: none, source, type or 92s others (default: none) 92s ========= SMOKE TEST: /usr/bin/po2ts =========== 92s Usage: po2ts [--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 Gettext PO localization files to Qt Linguist (.ts) 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 po, pot formats 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in ts format 92s -t TEMPLATE, --template=TEMPLATE 92s read from TEMPLATE in ts format 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s -c CONTEXT, --context=CONTEXT 92s use supplied context instead of the one in the .po 92s file comment 92s ========= SMOKE TEST: /usr/bin/po2txt =========== 92s Usage: po2txt [--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 Gettext PO localization files to plain text (.txt) 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 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 txt format 92s -t TEMPLATE, --template=TEMPLATE 92s read from TEMPLATE in txt format 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s --encoding=ENCODING The encoding of the template file (default: UTF-8) 92s -w WRAP, --wrap=WRAP set number of columns to wrap text at 92s --threshold=PERCENT only convert files where the translation completion is 92s above PERCENT 92s --fuzzy use translations marked fuzzy 92s --nofuzzy don't use translations marked fuzzy (default) 92s ========= SMOKE TEST: /usr/bin/po2web2py =========== 92s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 92s 92s Convert GNU/gettext PO files to web2py translation dictionaries (.py). 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 po, pot formats 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in py format 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s --threshold=PERCENT only convert files where the translation completion is 92s above PERCENT 92s --fuzzy use translations marked fuzzy 92s --nofuzzy don't use translations marked fuzzy (default) 92s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 92s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 92s 92s Convert Gettext PO localization files to a Wordfast translation memory file. 92s See: http://docs.translatehouse.org/projects/translate- 92s toolkit/en/latest/commands/po2wordfast.html for examples and usage 92s 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 formats 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in txt format 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) 92s ========= SMOKE TEST: /usr/bin/po2xliff =========== 92s Usage: po2xliff [--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 Gettext PO localization files to XLIFF 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 po, pot formats 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in xlf, xliff formats 92s -t TEMPLATE, --template=TEMPLATE 92s read from TEMPLATE in xlf, xliff formats 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s ========= SMOKE TEST: /usr/bin/po2yaml =========== 92s Usage: po2yaml [--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 Gettext PO localization files to YAML files. See: 92s http://docs.translatehouse.org/projects/translate- 92s toolkit/en/latest/commands/yaml2po.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 formats 92s -x EXCLUDE, --exclude=EXCLUDE 92s exclude names matching EXCLUDE from input paths 92s -o OUTPUT, --output=OUTPUT 92s write to OUTPUT in yaml, yml formats 92s -t TEMPLATE, --template=TEMPLATE 92s read from TEMPLATE in yaml, yml formats 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s --threshold=PERCENT only convert files where the translation completion is 92s above PERCENT 92s --fuzzy use translations marked fuzzy 92s --nofuzzy don't use translations marked fuzzy (default) 92s ========= SMOKE TEST: /usr/bin/poclean =========== 92s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 92s 92s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 92s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 92s produces the target file with only the target text in from a text version of 92s the RTF. 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 po, pot, xlf, xliff formats 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s ========= SMOKE TEST: /usr/bin/pocompendium =========== 92s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 92s The first parameter is the output file, standard output if the output file is '-'. 92s Any number of directories may be specified for input files. 92s Options: 92s --invert|v Creates an inverse compendium with msgid and msgstr swapped 92s --errors|e Only ouput msg bundles that have errors 92s --correct|c Only ouput msg bundles that are correctly translated 92s --ignore-case|i Drops all strings to lowercase 92s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 92s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 92s --strip-accel-under|-su Strip all underscore (_) accelerator characters 92s ========= SMOKE TEST: /usr/bin/pocompile =========== 92s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 92s 92s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 92s Object) files. See: http://docs.translatehouse.org/projects/translate- 92s toolkit/en/latest/commands/pocompile.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 mo format 92s -S, --timestamp skip conversion if the output file has newer timestamp 92s --fuzzy use translations marked fuzzy 92s --nofuzzy don't use translations marked fuzzy (default) 92s ========= SMOKE TEST: /usr/bin/poconflicts =========== 92s 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] 92s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 92s 92s Conflict finder for Gettext PO localization files. See: 92s http://docs.translatehouse.org/projects/translate- 92s toolkit/en/latest/commands/poconflicts.html for examples and usage 92s 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 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 format 92s -I, --ignore-case ignore case distinctions 92s -v, --invert invert the conflicts thus extracting conflicting 92s destination words 92s --accelerator=ACCELERATORS 92s ignores the given accelerator characters when matching 92s ========= SMOKE TEST: /usr/bin/pocount =========== 92s usage: pocount [-h] [--incomplete] [--full | --csv | --short | 92s --short-strings | --short-words] [--no-color] 92s files [files ...] 92s 92s positional arguments: 92s files 92s 92s options: 92s -h, --help show this help message and exit 92s --incomplete skip 100% translated files. 92s 92s Output format: 92s --full (default) statistics in full, verbose format 92s --csv statistics in CSV format 92s --short same as --short-strings 92s --short-strings statistics of strings in short format - one line per file 92s --short-words statistics of words in short format - one line per file 92s --no-color show output without color 93s ========= SMOKE TEST: /usr/bin/podebug =========== 93s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 93s 93s Insert debug messages into XLIFF and Gettext PO localization files. See: 93s http://docs.translatehouse.org/projects/translate- 93s toolkit/en/latest/commands/podebug.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 po, pot, pot, tmx, xlf, xliff 93s 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, tmx, xlf, xliff formats 93s -S, --timestamp skip conversion if the output file has newer timestamp 93s -f FORMAT, --format=FORMAT 93s specify format string 93s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 93s classified, en, flipped, unicode, xxx 93s --ignore=APPLICATION apply tagging ignore rules for the given application: 93s gtk, kde, libreoffice, mozilla, openoffice 93s --preserveplaceholders 93s attempt to exclude characters that are part of 93s placeholders when performing character-level rewrites 93s so that consuming applications can still use the 93s placeholders to generate final output 93s ========= SMOKE TEST: /usr/bin/pofilter =========== 93s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 93s 93s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 93s Snippet files are created whenever a test fails. These can be examined, 93s corrected and merged back into the originals using pomerge. See: 93s http://docs.translatehouse.org/projects/translate- 93s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 93s and http://docs.translatehouse.org/projects/translate- 93s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 93s tests. 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 po, pot, tmx, xlf, xliff 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, tmx, xlf, xliff formats 93s -l, --listfilters list filters available 93s --review include units marked for review (default) 93s --noreview exclude units marked for review 93s --fuzzy include units marked fuzzy (default) 93s --nofuzzy exclude units marked fuzzy 93s --nonotes don't add notes about the errors 93s --autocorrect output automatic corrections where possible rather 93s than describing issues 93s --language=LANG set target language code (e.g. af-ZA) [required for 93s spell check and recommended in general] 93s --openoffice use the standard checks for OpenOffice translations 93s --libreoffice use the standard checks for LibreOffice translations 93s --mozilla use the standard checks for Mozilla translations 93s --drupal use the standard checks for Drupal translations 93s --gnome use the standard checks for Gnome translations 93s --kde use the standard checks for KDE translations 93s --wx use the standard checks for wxWidgets translations 93s --excludefilter=FILTER 93s don't use FILTER when filtering 93s -t FILTER, --test=FILTER 93s only use test FILTERs specified with this option when 93s filtering 93s --notranslatefile=FILE 93s read list of untranslatable words from FILE (must not 93s be translated) 93s --musttranslatefile=FILE 93s read list of translatable words from FILE (must be 93s translated) 93s --validcharsfile=FILE 93s read list of all valid characters from FILE (must be 93s in UTF-8) 93s ========= SMOKE TEST: /usr/bin/pogrep =========== 93s 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] 93s 93s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 93s snippet files of the same type which can then be reviewed and later merged 93s using :doc:`pomerge `. See: 93s http://docs.translatehouse.org/projects/translate- 93s toolkit/en/latest/commands/pogrep.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 gmo, mo, po, pot, tmx, xlf, xlff, 93s xliff formats 93s -x EXCLUDE, --exclude=EXCLUDE 93s exclude names matching EXCLUDE from input paths 93s -o OUTPUT, --output=OUTPUT 93s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 93s xliff formats 93s --search=SEARCHPARTS searches the given parts (source, target, notes and 93s locations) 93s -I, --ignore-case ignore case distinctions 93s -e, --regexp use regular expression matching 93s -v, --invert-match select non-matching lines 93s --accelerator=ACCELERATOR 93s ignores the given accelerator when matching 93s -k, --keep-translations 93s always extract units with translations 93s ========= SMOKE TEST: /usr/bin/pomerge =========== 93s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 93s 93s Merges XLIFF and Gettext PO localization files. Snippet file produced by 93s e.g. :doc:`pogrep ` and updated by a translator can be 93s merged back into the original files. See: 93s http://docs.translatehouse.org/projects/translate- 93s toolkit/en/latest/commands/pomerge.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 po, pot, pot, xlf, xliff 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, pot, xlf, xliff formats 93s -t TEMPLATE, --template=TEMPLATE 93s read from TEMPLATE in po, pot, pot, xlf, xliff formats 93s -S, --timestamp skip conversion if the output file has newer timestamp 93s --mergeblanks=MERGEBLANKS 93s whether to overwrite existing translations with blank 93s translations (yes/no). Default is yes. 93s --mergefuzzy=MERGEFUZZY 93s whether to consider fuzzy translations from input 93s (yes/no). Default is yes. 93s --mergecomments=MERGECOMMENTS 93s whether to merge comments as well as translations 93s (yes/no). Default is yes. 93s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 93s Usage pomigrate2 [options] 93s 93s Options: 93s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 93s -C|--use-compendium - create and use a compendium built from the migrating files 93s -C|--use-compendium=some-compendium.po 93s - use an external compendium during the migration 93s --no-wrap - do not wrap long lines 93s --locale=lang - set locale for newly born files 93s -q|--quiet - suppress most output 93s -p|--pot2po - use pot2po instead of msgmerge to migrate 93s ========= SMOKE TEST: /usr/bin/popuretext =========== 93s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 93s ========= SMOKE TEST: /usr/bin/poreencode =========== 93s Usage: poreencode 93s eg: poreencode UTF-8 af/ 93s ========= SMOKE TEST: /usr/bin/porestructure =========== 93s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 93s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 93s 93s Restructure Gettxt PO files produced by :doc:`poconflicts 93s ` into the original directory tree for merging using 93s :doc:`pomerge `. See: 93s http://docs.translatehouse.org/projects/translate- 93s toolkit/en/latest/commands/pomerge.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 po format 93s -x EXCLUDE, --exclude=EXCLUDE 93s exclude names matching EXCLUDE from input paths 93s -o OUTPUT, --output=OUTPUT 93s write to OUTPUT in po format 93s ========= SMOKE TEST: /usr/bin/posegment =========== 93s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 93s 93s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 93s See: http://docs.translatehouse.org/projects/translate- 93s toolkit/en/latest/commands/posegment.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 po, pot, tmx, xlf, xliff 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, tmx, xlf, xliff 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 -l LANG, --language=LANG 93s the target language code 93s --source-language=LANG 93s the source language code (default 'en') 93s --keepspaces Disable automatic stripping of whitespace 93s --only-aligned Removes units where sentence number does not 93s correspond 93s ========= SMOKE TEST: /usr/bin/poswap =========== 93s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 93s 93s Builds a new translation file with the target of the input language as source 93s language. .. note:: Ensure that the two po files correspond 100% to the same 93s pot file before using this. To translate Kurdish (ku) through French:: 93s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 93s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 93s http://docs.translatehouse.org/projects/translate- 93s toolkit/en/latest/commands/poswap.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 po, pot 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 po, pot, pot formats 93s -S, --timestamp skip conversion if the output file has newer timestamp 93s --reverse reverse the process of intermediate language 93s conversion 93s ========= SMOKE TEST: /usr/bin/pot2po =========== 93s 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] 93s 93s Convert template files (like .pot or template .xlf files) to translation 93s files, preserving existing translations. See: 93s http://docs.translatehouse.org/projects/translate- 93s toolkit/en/latest/commands/pot2po.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 catkeys, lang, pot, ts, xlf, xliff 93s formats 93s -x EXCLUDE, --exclude=EXCLUDE 93s exclude names matching EXCLUDE from input paths 93s -o OUTPUT, --output=OUTPUT 93s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 93s xliff formats 93s -t TEMPLATE, --template=TEMPLATE 93s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 93s xliff 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 --tm=TM The file to use as translation memory when fuzzy 93s matching 93s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 93s The minimum similarity for inclusion (default: 75%) 93s --nofuzzymatching Disable fuzzy matching 93s ========= SMOKE TEST: /usr/bin/poterminology =========== 93s 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] 93s input directory is searched for PO files, terminology PO file is output file 93s 93s Create a terminology file by reading a set of .po or .pot files to produce a 93s pootle-terminology.pot. See: 93s http://docs.translatehouse.org/projects/translate- 93s toolkit/en/latest/commands/poterminology.html for examples and usage 93s 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 po, pot 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 -u UPDATEFILE, --update=UPDATEFILE 93s update terminology in UPDATEFILE 93s -S STOPFILE, --stopword-list=STOPFILE 93s read stopword (term exclusion) list from STOPFILE 93s (default /usr/share/pyshared/translate/share/stoplist- 93s en) 93s -F, --fold-titlecase fold "Title Case" to lowercase (default) 93s -C, --preserve-case preserve all uppercase/lowercase 93s -I, --ignore-case make all terms lowercase 93s --accelerator=ACCELERATORS 93s ignore the given accelerator characters when matching 93s -t LENGTH, --term-words=LENGTH 93s generate terms of up to LENGTH words (default 3) 93s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 93s 1) 93s --inputs-needed=MIN omit terms appearing in less than MIN input files 93s (default 2, or 1 if only one input file) 93s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 93s different messages (default 1) 93s --substr-needed=MIN omit substring-only terms appearing in less than MIN 93s different messages (default 2) 93s --locs-needed=MIN omit terms appearing in less than MIN different 93s original source files (default 2) 93s --sort=ORDER output sort order(s): frequency, dictionary, length 93s (may repeat option, default is all in above order) 93s --source-language=LANG 93s the source language code (default 'en') 93s -v, --invert invert the source and target languages for terminology 93s ========= SMOKE TEST: /usr/bin/pretranslate =========== 93s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 93s 93s Fill localization files with suggested translations based on translation 93s memory and existing translations. See: 93s http://docs.translatehouse.org/projects/translate- 93s toolkit/en/latest/commands/pretranslate.html for examples and usage 93s 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 po, pot, pot, xlf, xliff 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, xlf, xliff formats 93s -t TEMPLATE, --template=TEMPLATE 93s read from TEMPLATE in po, pot, xlf, xliff formats 93s -S, --timestamp skip conversion if the output file has newer timestamp 93s --tm=TM The file to use as translation memory when fuzzy 93s matching 93s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 93s The minimum similarity for inclusion (default: 75%) 93s --nofuzzymatching Disable fuzzy matching 93s ========= SMOKE TEST: /usr/bin/prop2po =========== 94s 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] 94s 94s Convert Java/Mozilla .properties files to Gettext PO localization files. 94s See: http://docs.translatehouse.org/projects/translate- 94s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 94s 94s Options: 94s --version show program's version number and exit 94s -h, --help show this help message and exit 94s --manpage output a manpage based on the help 94s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 94s --errorlevel=ERRORLEVEL 94s show errorlevel as: none, message, exception, 94s traceback 94s -i INPUT, --input=INPUT 94s read from INPUT in lang, properties, strings formats 94s -x EXCLUDE, --exclude=EXCLUDE 94s exclude names matching EXCLUDE from input paths 94s -o OUTPUT, --output=OUTPUT 94s write to OUTPUT in po, pot formats 94s -t TEMPLATE, --template=TEMPLATE 94s read from TEMPLATE in lang, properties, strings 94s formats 94s -S, --timestamp skip conversion if the output file has newer timestamp 94s -P, --pot output PO Templates (.pot) rather than PO files (.po) 94s --personality=TYPE override the input file format: java, java-utf8, java- 94s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 94s strings, strings-utf8, joomla (for .properties files, 94s default: java) 94s --encoding=ENCODING override the encoding set by the personality 94s --duplicates=DUPLICATESTYLE 94s what to do with duplicate strings (identical source 94s text): merge, msgctxt (default: 'msgctxt') 94s ========= SMOKE TEST: /usr/bin/pydiff =========== 94s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 94s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 94s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 94s fromfile tofile 94s 94s positional arguments: 94s fromfile 94s tofile 94s 94s options: 94s -h, --help show this help message and exit 94s -i, --ignore-case Ignore case differences in file contents. 94s -U, --unified NUM Output NUM (default 3) lines of unified context 94s -r, --recursive Recursively compare any subdirectories found. 94s -N, --new-file Treat absent files as empty. 94s --unidirectional-new-file 94s Treat absent first files as empty. 94s -s, --report-identical-files 94s Report when two files are the same. 94s -x, --exclude PAT Exclude files that match PAT. 94s --fromcontains TEXT Only show changes where fromfile contains TEXT 94s --tocontains TEXT Only show changes where tofile contains TEXT 94s --contains TEXT Only show changes where fromfile or tofile contains 94s TEXT 94s -I, --ignore-case-contains 94s Ignore case differences when matching any of the 94s changes 94s --accelerator ACCELERATORS 94s ignores the given accelerator characters when matching 94s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 94s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 94s 94s Convert Python format .po files to PHP format .po files. 94s 94s Options: 94s --version show program's version number and exit 94s -h, --help show this help message and exit 94s --manpage output a manpage based on the help 94s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 94s --errorlevel=ERRORLEVEL 94s show errorlevel as: none, message, exception, 94s traceback 94s -i INPUT, --input=INPUT 94s read from INPUT in po, pot formats 94s -x EXCLUDE, --exclude=EXCLUDE 94s exclude names matching EXCLUDE from input paths 94s -o OUTPUT, --output=OUTPUT 94s write to OUTPUT in po, pot formats 94s -S, --timestamp skip conversion if the output file has newer timestamp 94s ========= SMOKE TEST: /usr/bin/rc2po =========== 94s 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] 94s 94s Convert Windows RC files to Gettext PO localization files. See: 94s http://docs.translatehouse.org/projects/translate- 94s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 94s 94s Options: 94s --version show program's version number and exit 94s -h, --help show this help message and exit 94s --manpage output a manpage based on the help 94s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 94s --errorlevel=ERRORLEVEL 94s show errorlevel as: none, message, exception, 94s traceback 94s -i INPUT, --input=INPUT 94s read from INPUT in nls, rc formats 94s -x EXCLUDE, --exclude=EXCLUDE 94s exclude names matching EXCLUDE from input paths 94s -o OUTPUT, --output=OUTPUT 94s write to OUTPUT in po, pot formats 94s -t TEMPLATE, --template=TEMPLATE 94s read from TEMPLATE in nls, rc formats 94s -S, --timestamp skip conversion if the output file has newer timestamp 94s -P, --pot output PO Templates (.pot) rather than PO files (.po) 94s --charset=CHARSET charset to use to decode the RC files (autodetection 94s is used by default) 94s -l LANG, --lang=LANG LANG entry (default: None) 94s --sublang=SUBLANG SUBLANG entry (default: None) 94s --duplicates=DUPLICATESTYLE 94s what to do with duplicate strings (identical source 94s text): merge, msgctxt (default: 'msgctxt') 94s ========= SMOKE TEST: /usr/bin/resx2po =========== 94s 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] 94s 94s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 94s http://docs.translatehouse.org/projects/translate- 94s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 94s 94s Options: 94s --version show program's version number and exit 94s -h, --help show this help message and exit 94s --manpage output a manpage based on the help 94s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 94s --errorlevel=ERRORLEVEL 94s show errorlevel as: none, message, exception, 94s traceback 94s -i INPUT, --input=INPUT 94s read from INPUT in resx format 94s -x EXCLUDE, --exclude=EXCLUDE 94s exclude names matching EXCLUDE from input paths 94s -o OUTPUT, --output=OUTPUT 94s write to OUTPUT in po, pot formats 94s -t TEMPLATE, --template=TEMPLATE 94s read from TEMPLATE in resx format 94s -S, --timestamp skip conversion if the output file has newer timestamp 94s -P, --pot output PO Templates (.pot) rather than PO files (.po) 94s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 94s everything) 94s --duplicates=DUPLICATESTYLE 94s what to do with duplicate strings (identical source 94s text): merge, msgctxt (default: 'msgctxt') 94s ========= SMOKE TEST: /usr/bin/sub2po =========== 94s 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] 94s 94s Convert subtitle files to Gettext PO localization files. See: 94s http://docs.translatehouse.org/projects/translate- 94s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 94s 94s Options: 94s --version show program's version number and exit 94s -h, --help show this help message and exit 94s --manpage output a manpage based on the help 94s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 94s --errorlevel=ERRORLEVEL 94s show errorlevel as: none, message, exception, 94s traceback 94s -i INPUT, --input=INPUT 94s read from INPUT in ass, srt, ssa, sub formats 94s -x EXCLUDE, --exclude=EXCLUDE 94s exclude names matching EXCLUDE from input paths 94s -o OUTPUT, --output=OUTPUT 94s write to OUTPUT in po, pot formats 94s -t TEMPLATE, --template=TEMPLATE 94s read from TEMPLATE in ass, srt, ssa, sub formats 94s -S, --timestamp skip conversion if the output file has newer timestamp 94s -P, --pot output PO Templates (.pot) rather than PO files (.po) 94s --duplicates=DUPLICATESTYLE 94s what to do with duplicate strings (identical source 94s text): merge, msgctxt (default: 'msgctxt') 94s ========= SMOKE TEST: /usr/bin/symb2po =========== 94s 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] 94s 94s Convert Symbian localisation files to Gettext PO localization files. See: 94s http://docs.translatehouse.org/projects/translate- 94s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 94s 94s Options: 94s --version show program's version number and exit 94s -h, --help show this help message and exit 94s --manpage output a manpage based on the help 94s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 94s --errorlevel=ERRORLEVEL 94s show errorlevel as: none, message, exception, 94s traceback 94s -i INPUT, --input=INPUT 94s read from INPUT in r01 format 94s -x EXCLUDE, --exclude=EXCLUDE 94s exclude names matching EXCLUDE from input paths 94s -o OUTPUT, --output=OUTPUT 94s write to OUTPUT in po, pot formats 94s -t TEMPLATE, --template=TEMPLATE 94s read from TEMPLATE in 94s -S, --timestamp skip conversion if the output file has newer timestamp 94s -P, --pot output PO Templates (.pot) rather than PO files (.po) 94s --duplicates=DUPLICATESTYLE 94s what to do with duplicate strings (identical source 94s text): merge, msgctxt (default: 'msgctxt') 94s ========= SMOKE TEST: /usr/bin/tbx2po =========== 94s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 94s 94s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 94s http://docs.translatehouse.org/projects/translate- 94s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 94s 94s Options: 94s --version show program's version number and exit 94s -h, --help show this help message and exit 94s --manpage output a manpage based on the help 94s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 94s --errorlevel=ERRORLEVEL 94s show errorlevel as: none, message, exception, 94s traceback 94s -i INPUT, --input=INPUT 94s read from INPUT in tbx format 94s -x EXCLUDE, --exclude=EXCLUDE 94s exclude names matching EXCLUDE from input paths 94s -o OUTPUT, --output=OUTPUT 94s write to OUTPUT in po, pot formats 94s -S, --timestamp skip conversion if the output file has newer timestamp 94s ========= SMOKE TEST: /usr/bin/tiki2po =========== 94s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 94s 94s Convert TikiWiki's language.php files to Gettext PO localization files. See: 94s http://docs.translatehouse.org/projects/translate- 94s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 94s 94s Options: 94s --version show program's version number and exit 94s -h, --help show this help message and exit 94s --manpage output a manpage based on the help 94s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 94s --errorlevel=ERRORLEVEL 94s show errorlevel as: none, message, exception, 94s traceback 94s -i INPUT, --input=INPUT 94s read from INPUT in php format 94s -x EXCLUDE, --exclude=EXCLUDE 94s exclude names matching EXCLUDE from input paths 94s -o OUTPUT, --output=OUTPUT 94s write to OUTPUT in po, pot formats 94s -S, --timestamp skip conversion if the output file has newer timestamp 94s --include-unused Include strings in the unused section 94s ========= SMOKE TEST: /usr/bin/tmserver =========== 94s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 94s [-s SOURCE_LANG] [-b BIND] [-p PORT] 94s [--max-candidates MAX_CANDIDATES] 94s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 94s [--debug] 94s 94s options: 94s -h, --help show this help message and exit 94s -d, --tmdb TMDBFILE translation memory database file 94s -f, --import-translation-file TMFILES 94s translation file to import into the database 94s -t, --import-target-lang TARGET_LANG 94s target language of translation files 94s -s, --import-source-lang SOURCE_LANG 94s source language of translation files 94s -b, --bind BIND address to bind server to (default: localhost) 94s -p, --port PORT port to listen on (default: 8888) 94s --max-candidates MAX_CANDIDATES 94s Maximum number of candidates 94s --min-similarity MIN_SIMILARITY 94s minimum similarity 94s --max-length MAX_LENGTH 94s Maxmimum string length 94s --debug enable debugging features 94s ========= SMOKE TEST: /usr/bin/ts2po =========== 95s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 95s 95s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 95s http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in ts format 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in po, pot formats 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s -P, --pot output PO Templates (.pot) rather than PO files (.po) 95s --duplicates=DUPLICATESTYLE 95s what to do with duplicate strings (identical source 95s text): merge, msgctxt (default: 'msgctxt') 95s ========= SMOKE TEST: /usr/bin/txt2po =========== 95s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 95s 95s Convert plain text (.txt) files to Gettext PO localization files. See: 95s http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in *, txt formats 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in po, pot formats 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s -P, --pot output PO Templates (.pot) rather than PO files (.po) 95s --encoding=ENCODING The encoding of the input file (default: UTF-8) 95s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 95s mediawiki 95s --no-segmentation Don't segment the file, treat it like a single message 95s --duplicates=DUPLICATESTYLE 95s what to do with duplicate strings (identical source 95s text): merge, msgctxt (default: 'msgctxt') 95s ========= SMOKE TEST: /usr/bin/web2py2po =========== 95s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 95s 95s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 95s http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in py format 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in po, pot formats 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s -P, --pot output PO Templates (.pot) rather than PO files (.po) 95s --duplicates=DUPLICATESTYLE 95s what to do with duplicate strings (identical source 95s text): merge, msgctxt (default: 'msgctxt') 95s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 95s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 95s 95s Convert XLIFF translation files to OpenDocument (ODF) files. See: 95s http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in xlf format 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 95s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 95s -t TEMPLATE, --template=TEMPLATE 95s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 95s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 95s formats 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 95s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 95s 95s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 95s file. See: http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in po, pot, xlf, xliff formats 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in oo, sdf formats 95s -t TEMPLATE, --template=TEMPLATE 95s read from TEMPLATE in oo, sdf formats 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s -l LANG, --language=LANG 95s set target language code (e.g. af-ZA) [required] 95s --source-language=LANG 95s set source language code (default en-US) 95s -T, --keeptimestamp don't change the timestamps of the strings 95s --nonrecursiveoutput don't treat the output oo as a recursive store 95s --nonrecursivetemplate 95s don't treat the template oo as a recursive store 95s --skipsource don't output the source language, but fallback to it 95s where needed 95s --filteraction=ACTION 95s action on pofilter failure: none (default), warn, 95s exclude-serious, exclude-all 95s --fuzzy use translations marked fuzzy 95s --nofuzzy don't use translations marked fuzzy (default) 95s --multifile=MULTIFILESTYLE 95s how to split po/pot files (single, toplevel or 95s onefile) 95s ========= SMOKE TEST: /usr/bin/xliff2po =========== 95s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 95s 95s Convert XLIFF localization files to Gettext PO localization files. See: 95s http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in xlf, xliff formats 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in po, pot formats 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s -P, --pot output PO Templates (.pot) rather than PO files (.po) 95s --duplicates=DUPLICATESTYLE 95s what to do with duplicate strings (identical source 95s text): merge, msgctxt (default: 'msgctxt') 95s ========= SMOKE TEST: /usr/bin/yaml2po =========== 95s 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] 95s 95s Convert YAML files to Gettext PO localization files. See: 95s http://docs.translatehouse.org/projects/translate- 95s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 95s 95s Options: 95s --version show program's version number and exit 95s -h, --help show this help message and exit 95s --manpage output a manpage based on the help 95s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 95s --errorlevel=ERRORLEVEL 95s show errorlevel as: none, message, exception, 95s traceback 95s -i INPUT, --input=INPUT 95s read from INPUT in yaml, yml formats 95s -x EXCLUDE, --exclude=EXCLUDE 95s exclude names matching EXCLUDE from input paths 95s -o OUTPUT, --output=OUTPUT 95s write to OUTPUT in po, pot formats 95s -t TEMPLATE, --template=TEMPLATE 95s read from TEMPLATE in yaml, yml formats 95s -S, --timestamp skip conversion if the output file has newer timestamp 95s -P, --pot output PO Templates (.pot) rather than PO files (.po) 95s --duplicates=DUPLICATESTYLE 95s what to do with duplicate strings (identical source 95s text): merge, msgctxt (default: 'msgctxt') 96s autopkgtest [06:05:43]: test translate-toolkit: -----------------------] 96s autopkgtest [06:05:43]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 96s translate-toolkit PASS 97s autopkgtest [06:05:44]: test python3-translate: preparing testbed 110s Creating nova instance adt-resolute-s390x-translate-toolkit-20251028-060407-juju-7f2275-prod-proposed-migration-environment-2-2b10bf49-d4e1-46a3-9263-6545b98adf53 from image adt/ubuntu-resolute-s390x-server-20251028.img (UUID 222a8a17-8cdf-422e-baeb-91db113eb3ff)... 152s autopkgtest [06:06:39]: testbed dpkg architecture: s390x 152s autopkgtest [06:06:39]: testbed apt version: 3.1.8ubuntu1 153s autopkgtest [06:06:40]: @@@@@@@@@@@@@@@@@@@@ test bed setup 153s autopkgtest [06:06:40]: testbed release detected to be: resolute 154s autopkgtest [06:06:41]: updating testbed package index (apt update) 154s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 155s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 155s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 155s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 155s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5856 B] 155s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [216 kB] 156s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [3342 kB] 159s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [61.7 kB] 159s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main s390x Packages [231 kB] 159s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted s390x Packages [940 B] 159s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x Packages [692 kB] 160s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse s390x Packages [5116 B] 160s Fetched 4642 kB in 6s (814 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 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 162s autopkgtest [06:06:49]: upgrading testbed (apt dist-upgrade and autopurge) 163s Reading package lists... 163s Building dependency tree... 163s Reading state information... 163s Calculating upgrade... 163s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 163s Reading package lists... 163s Building dependency tree... 163s Reading state information... 163s Solving dependencies... 163s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 167s Reading package lists... 167s Building dependency tree... 167s Reading state information... 167s Solving dependencies... 167s The following NEW packages will be installed: 167s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 167s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 167s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 167s 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-vobject 168s python3-xapian subversion 168s 0 upgraded, 46 newly installed, 0 to remove and 0 not upgraded. 168s Need to get 13.4 MB of archives. 168s After this operation, 64.2 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] 168s Get:3 http://ftpmaster.internal/ubuntu resolute/main s390x libgomp1 s390x 15.2.0-5ubuntu1 [154 kB] 168s 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] 173s Get:6 http://ftpmaster.internal/ubuntu resolute/main s390x libapr1t64 s390x 1.7.5-1 [114 kB] 173s Get:7 http://ftpmaster.internal/ubuntu resolute/main s390x libaprutil1t64 s390x 1.6.3-3ubuntu2 [98.4 kB] 173s Get:8 http://ftpmaster.internal/ubuntu resolute/main s390x libaspell15 s390x 0.60.8.1-4 [355 kB] 176s Get:9 http://ftpmaster.internal/ubuntu resolute/main s390x libhunspell-1.7-0 s390x 1.7.2+really1.7.2-10build3 [304 kB] 178s Get:10 http://ftpmaster.internal/ubuntu resolute/main s390x libenchant-2-2 s390x 2.8.2+dfsg1-3 [61.2 kB] 178s Get:11 http://ftpmaster.internal/ubuntu resolute/main s390x libexttextcat-data all 3.4.7-1ubuntu1 [193 kB] 179s Get:12 http://ftpmaster.internal/ubuntu resolute/universe s390x libserf-1-1 s390x 1.3.10-3ubuntu1 [49.8 kB] 179s Get:13 http://ftpmaster.internal/ubuntu resolute/universe s390x libutf8proc3 s390x 2.10.0-2 [72.0 kB] 180s Get:14 http://ftpmaster.internal/ubuntu resolute/universe s390x libsvn1 s390x 1.14.5-4 [1359 kB] 186s Get:15 http://ftpmaster.internal/ubuntu resolute/universe s390x libxapian30 s390x 1.4.29-3 [740 kB] 189s Get:16 http://ftpmaster.internal/ubuntu resolute/main s390x libxslt1.1 s390x 1.1.43-0.3 [163 kB] 190s Get:17 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-aeidon all 1.15-2 [231 kB] 191s Get:18 http://ftpmaster.internal/ubuntu resolute/main s390x python3-all s390x 3.13.7-1 [886 B] 191s Get:19 http://ftpmaster.internal/ubuntu resolute/main s390x python3-soupsieve all 2.7-2 [33.6 kB] 191s Get:20 http://ftpmaster.internal/ubuntu resolute-proposed/main s390x python3-bs4 all 4.14.2-1 [82.8 kB] 192s Get:21 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-charset-normalizer s390x 3.4.2-1 [129 kB] 192s Get:22 http://ftpmaster.internal/ubuntu resolute/main s390x python3-cheroot all 10.0.1+ds1-4 [78.6 kB] 192s Get:23 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-cwcwidth s390x 0.1.10-1build2 [28.9 kB] 193s Get:24 http://ftpmaster.internal/ubuntu resolute/main s390x python3-dateutil all 2.9.0-4 [80.3 kB] 193s Get:25 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-diff-match-patch all 20241021-1 [33.6 kB] 193s Get:26 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-enchant all 3.3.0~rc1-1 [35.1 kB] 193s Get:27 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-iniconfig all 1.1.1-2 [6024 B] 194s Get:28 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-rapidfuzz s390x 3.12.2+ds-1build1 [1790 kB] 200s Get:29 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-levenshtein s390x 0.27.1-2build1 [181 kB] 200s Get:30 http://ftpmaster.internal/ubuntu resolute/main s390x python3-lxml s390x 6.0.1-1build1 [2480 kB] 205s Get:31 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-mistletoe all 1.4.0-1 [38.2 kB] 205s Get:32 http://ftpmaster.internal/ubuntu resolute/main s390x python3-packaging all 25.0-1 [52.8 kB] 206s Get:33 http://ftpmaster.internal/ubuntu resolute/main s390x python3-ply all 3.11-9 [45.8 kB] 206s Get:34 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-phply all 1.2.6-1 [50.5 kB] 206s Get:35 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pluggy all 1.6.0-1 [21.0 kB] 206s Get:36 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pytest all 8.3.5-2 [252 kB] 206s Get:37 http://ftpmaster.internal/ubuntu resolute/main s390x python3-pytz all 2025.2-4 [32.3 kB] 207s Get:38 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-ruamel.yaml.clib s390x 0.2.12+ds-1build1 [151 kB] 207s Get:39 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 207s Get:40 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-syrupy all 5.0.0-1 [47.9 kB] 207s Get:41 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-translate all 3.15.1-1 [319 kB] 208s Get:42 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-vobject all 0.9.9+dfsg-1 [41.5 kB] 208s Get:43 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-xapian s390x 1.4.29-1build1 [572 kB] 209s Get:44 http://ftpmaster.internal/ubuntu resolute/universe s390x subversion s390x 1.14.5-4 [899 kB] 210s Get:45 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-iniparse all 0.5.1-1 [21.2 kB] 210s Get:46 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 210s Preconfiguring packages ... 210s Fetched 13.4 MB in 42s (317 kB/s) 210s Selecting previously unselected package emacsen-common. 210s (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 ... 56948 files and directories currently installed.) 210s Preparing to unpack .../00-emacsen-common_3.0.8_all.deb ... 210s Unpacking emacsen-common (3.0.8) ... 210s Selecting previously unselected package dictionaries-common. 210s Preparing to unpack .../01-dictionaries-common_1.30.10_all.deb ... 210s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 210s Unpacking dictionaries-common (1.30.10) ... 210s Selecting previously unselected package libgomp1:s390x. 210s Preparing to unpack .../02-libgomp1_15.2.0-5ubuntu1_s390x.deb ... 210s Unpacking libgomp1:s390x (15.2.0-5ubuntu1) ... 210s Selecting previously unselected package gettext. 210s Preparing to unpack .../03-gettext_0.23.1-2build2_s390x.deb ... 210s Unpacking gettext (0.23.1-2build2) ... 210s Selecting previously unselected package hunspell-en-us. 210s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-4_all.deb ... 210s Unpacking hunspell-en-us (1:2020.12.07-4) ... 210s Selecting previously unselected package libapr1t64:s390x. 210s Preparing to unpack .../05-libapr1t64_1.7.5-1_s390x.deb ... 210s Unpacking libapr1t64:s390x (1.7.5-1) ... 210s Selecting previously unselected package libaprutil1t64:s390x. 210s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu2_s390x.deb ... 210s Unpacking libaprutil1t64:s390x (1.6.3-3ubuntu2) ... 210s Selecting previously unselected package libaspell15:s390x. 210s Preparing to unpack .../07-libaspell15_0.60.8.1-4_s390x.deb ... 210s Unpacking libaspell15:s390x (0.60.8.1-4) ... 210s Selecting previously unselected package libhunspell-1.7-0:s390x. 210s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_s390x.deb ... 210s Unpacking libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 210s Selecting previously unselected package libenchant-2-2:s390x. 210s Preparing to unpack .../09-libenchant-2-2_2.8.2+dfsg1-3_s390x.deb ... 210s Unpacking libenchant-2-2:s390x (2.8.2+dfsg1-3) ... 210s Selecting previously unselected package libexttextcat-data. 210s Preparing to unpack .../10-libexttextcat-data_3.4.7-1ubuntu1_all.deb ... 210s Unpacking libexttextcat-data (3.4.7-1ubuntu1) ... 210s Selecting previously unselected package libserf-1-1:s390x. 210s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_s390x.deb ... 210s Unpacking libserf-1-1:s390x (1.3.10-3ubuntu1) ... 210s Selecting previously unselected package libutf8proc3:s390x. 210s Preparing to unpack .../12-libutf8proc3_2.10.0-2_s390x.deb ... 210s Unpacking libutf8proc3:s390x (2.10.0-2) ... 210s Selecting previously unselected package libsvn1:s390x. 210s Preparing to unpack .../13-libsvn1_1.14.5-4_s390x.deb ... 210s Unpacking libsvn1:s390x (1.14.5-4) ... 210s Selecting previously unselected package libxapian30:s390x. 210s Preparing to unpack .../14-libxapian30_1.4.29-3_s390x.deb ... 210s Unpacking libxapian30:s390x (1.4.29-3) ... 210s Selecting previously unselected package libxslt1.1:s390x. 210s Preparing to unpack .../15-libxslt1.1_1.1.43-0.3_s390x.deb ... 210s Unpacking libxslt1.1:s390x (1.1.43-0.3) ... 210s Selecting previously unselected package python3-aeidon. 210s Preparing to unpack .../16-python3-aeidon_1.15-2_all.deb ... 210s Unpacking python3-aeidon (1.15-2) ... 210s Selecting previously unselected package python3-all. 210s Preparing to unpack .../17-python3-all_3.13.7-1_s390x.deb ... 210s Unpacking python3-all (3.13.7-1) ... 210s Selecting previously unselected package python3-soupsieve. 210s Preparing to unpack .../18-python3-soupsieve_2.7-2_all.deb ... 210s Unpacking python3-soupsieve (2.7-2) ... 210s Selecting previously unselected package python3-bs4. 210s Preparing to unpack .../19-python3-bs4_4.14.2-1_all.deb ... 210s Unpacking python3-bs4 (4.14.2-1) ... 210s Selecting previously unselected package python3-charset-normalizer. 210s Preparing to unpack .../20-python3-charset-normalizer_3.4.2-1_s390x.deb ... 210s Unpacking python3-charset-normalizer (3.4.2-1) ... 210s Selecting previously unselected package python3-cheroot. 210s Preparing to unpack .../21-python3-cheroot_10.0.1+ds1-4_all.deb ... 210s Unpacking python3-cheroot (10.0.1+ds1-4) ... 210s Selecting previously unselected package python3-cwcwidth. 210s Preparing to unpack .../22-python3-cwcwidth_0.1.10-1build2_s390x.deb ... 210s Unpacking python3-cwcwidth (0.1.10-1build2) ... 210s Selecting previously unselected package python3-dateutil. 210s Preparing to unpack .../23-python3-dateutil_2.9.0-4_all.deb ... 210s Unpacking python3-dateutil (2.9.0-4) ... 210s Selecting previously unselected package python3-diff-match-patch. 210s Preparing to unpack .../24-python3-diff-match-patch_20241021-1_all.deb ... 210s Unpacking python3-diff-match-patch (20241021-1) ... 210s Selecting previously unselected package python3-enchant. 210s Preparing to unpack .../25-python3-enchant_3.3.0~rc1-1_all.deb ... 210s Unpacking python3-enchant (3.3.0~rc1-1) ... 210s Selecting previously unselected package python3-iniconfig. 210s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 210s Unpacking python3-iniconfig (1.1.1-2) ... 210s Selecting previously unselected package python3-rapidfuzz. 210s Preparing to unpack .../27-python3-rapidfuzz_3.12.2+ds-1build1_s390x.deb ... 210s Unpacking python3-rapidfuzz (3.12.2+ds-1build1) ... 211s Selecting previously unselected package python3-levenshtein. 211s Preparing to unpack .../28-python3-levenshtein_0.27.1-2build1_s390x.deb ... 211s Unpacking python3-levenshtein (0.27.1-2build1) ... 211s Selecting previously unselected package python3-lxml:s390x. 211s Preparing to unpack .../29-python3-lxml_6.0.1-1build1_s390x.deb ... 211s Unpacking python3-lxml:s390x (6.0.1-1build1) ... 211s Selecting previously unselected package python3-mistletoe. 211s Preparing to unpack .../30-python3-mistletoe_1.4.0-1_all.deb ... 211s Unpacking python3-mistletoe (1.4.0-1) ... 211s Selecting previously unselected package python3-packaging. 211s Preparing to unpack .../31-python3-packaging_25.0-1_all.deb ... 211s Unpacking python3-packaging (25.0-1) ... 211s Selecting previously unselected package python3-ply. 211s Preparing to unpack .../32-python3-ply_3.11-9_all.deb ... 211s Unpacking python3-ply (3.11-9) ... 211s Selecting previously unselected package python3-phply. 211s Preparing to unpack .../33-python3-phply_1.2.6-1_all.deb ... 211s Unpacking python3-phply (1.2.6-1) ... 211s Selecting previously unselected package python3-pluggy. 211s Preparing to unpack .../34-python3-pluggy_1.6.0-1_all.deb ... 211s Unpacking python3-pluggy (1.6.0-1) ... 211s Selecting previously unselected package python3-pytest. 211s Preparing to unpack .../35-python3-pytest_8.3.5-2_all.deb ... 211s Unpacking python3-pytest (8.3.5-2) ... 211s Selecting previously unselected package python3-pytz. 211s Preparing to unpack .../36-python3-pytz_2025.2-4_all.deb ... 211s Unpacking python3-pytz (2025.2-4) ... 211s Selecting previously unselected package python3-ruamel.yaml.clib. 211s Preparing to unpack .../37-python3-ruamel.yaml.clib_0.2.12+ds-1build1_s390x.deb ... 211s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 211s Selecting previously unselected package python3-ruamel.yaml. 211s Preparing to unpack .../38-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 211s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 211s Selecting previously unselected package python3-syrupy. 211s Preparing to unpack .../39-python3-syrupy_5.0.0-1_all.deb ... 211s Unpacking python3-syrupy (5.0.0-1) ... 211s Selecting previously unselected package python3-translate. 211s Preparing to unpack .../40-python3-translate_3.15.1-1_all.deb ... 211s Unpacking python3-translate (3.15.1-1) ... 211s Selecting previously unselected package python3-vobject. 211s Preparing to unpack .../41-python3-vobject_0.9.9+dfsg-1_all.deb ... 211s Unpacking python3-vobject (0.9.9+dfsg-1) ... 211s Selecting previously unselected package python3-xapian. 211s Preparing to unpack .../42-python3-xapian_1.4.29-1build1_s390x.deb ... 211s Unpacking python3-xapian (1.4.29-1build1) ... 211s Selecting previously unselected package subversion. 211s Preparing to unpack .../43-subversion_1.14.5-4_s390x.deb ... 211s Unpacking subversion (1.14.5-4) ... 211s Selecting previously unselected package python3-iniparse. 211s Preparing to unpack .../44-python3-iniparse_0.5.1-1_all.deb ... 211s Unpacking python3-iniparse (0.5.1-1) ... 211s Selecting previously unselected package python3-pycountry. 211s Preparing to unpack .../45-python3-pycountry_24.6.1+ds1-1_all.deb ... 211s Unpacking python3-pycountry (24.6.1+ds1-1) ... 211s Setting up python3-iniconfig (1.1.1-2) ... 211s Setting up libxapian30:s390x (1.4.29-3) ... 211s Setting up python3-rapidfuzz (3.12.2+ds-1build1) ... 211s Setting up python3-diff-match-patch (20241021-1) ... 211s Setting up python3-aeidon (1.15-2) ... 211s Setting up libutf8proc3:s390x (2.10.0-2) ... 211s Setting up libaspell15:s390x (0.60.8.1-4) ... 211s Setting up python3-charset-normalizer (3.4.2-1) ... 211s Setting up python3-ply (3.11-9) ... 211s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 211s Setting up python3-all (3.13.7-1) ... 211s Setting up python3-pytz (2025.2-4) ... 211s Setting up libgomp1:s390x (15.2.0-5ubuntu1) ... 211s Setting up python3-packaging (25.0-1) ... 212s Setting up emacsen-common (3.0.8) ... 212s Setting up python3-cheroot (10.0.1+ds1-4) ... 212s Setting up python3-pycountry (24.6.1+ds1-1) ... 212s Setting up python3-xapian (1.4.29-1build1) ... 212s Setting up python3-cwcwidth (0.1.10-1build2) ... 212s Setting up python3-pluggy (1.6.0-1) ... 212s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 212s Setting up python3-mistletoe (1.4.0-1) ... 212s Setting up libexttextcat-data (3.4.7-1ubuntu1) ... 212s Setting up libapr1t64:s390x (1.7.5-1) ... 212s Setting up libxslt1.1:s390x (1.1.43-0.3) ... 212s Setting up python3-dateutil (2.9.0-4) ... 212s Setting up python3-levenshtein (0.27.1-2build1) ... 212s Setting up libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 212s Setting up python3-soupsieve (2.7-2) ... 212s Setting up python3-iniparse (0.5.1-1) ... 213s Setting up libaprutil1t64:s390x (1.6.3-3ubuntu2) ... 213s Setting up python3-vobject (0.9.9+dfsg-1) ... 213s Setting up gettext (0.23.1-2build2) ... 213s Setting up python3-phply (1.2.6-1) ... 213s Setting up dictionaries-common (1.30.10) ... 213s Setting up python3-pytest (8.3.5-2) ... 213s Setting up python3-syrupy (5.0.0-1) ... 213s Setting up libserf-1-1:s390x (1.3.10-3ubuntu1) ... 213s Setting up python3-bs4 (4.14.2-1) ... 213s Setting up python3-lxml:s390x (6.0.1-1build1) ... 214s Setting up hunspell-en-us (1:2020.12.07-4) ... 214s Setting up libsvn1:s390x (1.14.5-4) ... 214s Setting up libenchant-2-2:s390x (2.8.2+dfsg1-3) ... 214s Setting up subversion (1.14.5-4) ... 214s Setting up python3-enchant (3.3.0~rc1-1) ... 214s Setting up python3-translate (3.15.1-1) ... 214s Processing triggers for libc-bin (2.42-0ubuntu3) ... 214s Processing triggers for man-db (2.13.1-1) ... 215s Processing triggers for install-info (7.1.1-1ubuntu1) ... 215s Processing triggers for dictionaries-common (1.30.10) ... 218s autopkgtest [06:07:45]: test python3-translate: [----------------------- 218s ============================= test session starts ============================== 218s platform linux -- Python 3.13.9, pytest-8.3.5, pluggy-1.6.0 -- /usr/bin/python3.13 218s cachedir: .pytest_cache 218s rootdir: /tmp/autopkgtest.4TvmSg/autopkgtest_tmp 218s plugins: typeguard-4.4.2, syrupy-5.0.0 222s collecting ... collected 3383 items / 2 skipped 222s 222s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 222s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 222s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 222s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 222s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 222s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 222s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 222s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 222s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 222s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 222s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 222s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 222s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 222s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 222s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 222s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 222s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 222s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 222s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 222s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 222s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 222s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 222s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 222s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 222s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 222s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 222s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 222s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 222s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 222s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 222s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 222s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 222s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 222s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 222s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 222s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 222s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 222s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 222s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 222s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 222s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 222s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 222s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 222s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 222s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 222s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 222s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 222s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 222s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 222s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 222s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 3%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 4%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 222s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 222s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 222s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 222s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 222s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 222s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 222s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 222s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 222s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 222s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 222s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 222s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 6%] 222s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 222s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 222s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 222s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 222s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 222s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 222s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 222s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 222s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 222s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 222s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 222s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 222s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 222s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 222s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 222s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 222s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 222s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 222s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 222s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 222s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 222s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 222s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 222s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 222s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 222s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 222s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 222s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 222s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 222s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 222s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 222s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 222s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 222s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 7%] 222s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 222s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 222s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 222s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 222s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 222s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 222s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 222s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 222s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 222s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 222s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 222s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 222s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 222s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 222s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 222s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 222s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 222s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 222s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 222s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 222s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 222s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 222s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 222s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 222s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 222s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 222s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 222s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 222s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 222s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 222s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 222s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 222s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 222s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 8%] 222s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 222s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 222s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 222s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 222s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 222s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 222s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 222s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 222s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 222s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 222s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 222s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 222s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 222s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 222s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 222s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 222s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 222s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 222s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 222s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 222s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 222s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 222s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 222s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 222s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 222s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 222s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 222s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 222s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 222s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 222s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 222s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 222s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 9%] 222s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 9%] 222s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 222s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 222s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 222s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 222s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 222s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 222s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 222s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 222s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 222s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 222s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 222s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 222s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 222s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 222s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 222s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 222s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 222s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 222s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 222s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 222s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 222s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 222s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 222s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 222s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 222s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 222s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 222s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 222s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 222s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 10%] 222s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 222s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 222s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 10%] 222s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 10%] 222s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 222s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 222s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 222s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 222s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 222s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 222s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 222s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 11%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 12%] 222s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 12%] 222s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 12%] 222s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 12%] 222s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 222s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 222s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 222s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 222s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 222s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 222s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 13%] 222s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 222s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 222s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 222s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 222s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 222s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 222s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 222s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 222s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 14%] 222s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 14%] 222s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 222s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 222s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 15%] 222s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 15%] 222s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 15%] 222s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 222s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 222s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 222s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 222s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 222s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 222s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 222s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 222s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 222s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 222s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 222s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 222s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 222s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 222s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 222s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 222s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 222s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 222s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 222s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 222s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 222s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 223s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 223s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 223s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 223s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 223s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 16%] 223s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 16%] 223s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 223s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 223s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 223s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 16%] 223s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 16%] 223s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 16%] 223s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 223s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 223s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 223s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 223s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 223s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 223s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 223s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 223s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 223s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 223s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 223s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 223s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 223s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 223s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 223s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 223s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 223s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 223s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 223s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 223s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 223s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 223s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 223s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 223s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 223s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 223s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 17%] 223s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 17%] 223s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 17%] 223s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 17%] 223s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 223s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 17%] 223s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 17%] 223s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 223s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 223s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 223s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 223s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 223s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 223s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 223s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 223s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 223s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 223s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 223s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 223s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 223s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 223s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 223s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 223s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 223s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 223s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 223s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 223s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 223s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 223s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 18%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 18%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 18%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 18%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 18%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 18%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 18%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 18%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 19%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 223s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 223s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 223s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 223s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 223s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 223s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 223s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 223s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 223s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 223s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 223s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 223s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 223s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 223s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 20%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 20%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 20%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 20%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 20%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 20%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 20%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 223s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 223s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 223s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 223s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 223s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 21%] 223s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 21%] 223s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 21%] 223s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 21%] 223s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 21%] 223s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 21%] 223s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 21%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 21%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 21%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 223s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 223s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 22%] 223s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 22%] 223s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 22%] 223s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 22%] 223s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 22%] 223s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 22%] 223s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 22%] 223s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 22%] 223s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 22%] 223s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 223s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 223s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 223s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 223s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 223s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 223s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 223s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 223s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 223s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 223s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 223s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 223s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 223s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 223s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 223s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 223s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 223s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 223s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 223s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 223s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 223s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 223s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 223s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 223s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 23%] 223s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 23%] 223s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 23%] 223s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 23%] 223s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 23%] 223s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 23%] 223s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 23%] 223s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 23%] 223s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 23%] 223s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 223s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 223s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 223s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 223s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 223s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 223s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 223s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 223s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 223s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 223s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 223s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 223s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 223s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 223s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 223s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 223s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 223s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 223s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 223s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 223s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 223s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 223s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 223s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 223s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 24%] 223s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 24%] 223s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 24%] 223s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 24%] 223s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 24%] 223s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 24%] 223s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 24%] 223s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 24%] 223s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 24%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 24%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 25%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 26%] 223s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 26%] 223s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 223s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 223s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 27%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 223s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 223s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 223s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 223s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 223s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 224s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 224s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 224s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 224s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 224s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 28%] 224s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 28%] 224s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 28%] 224s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 28%] 224s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 28%] 224s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 28%] 224s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 28%] 224s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 28%] 224s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 28%] 224s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 28%] 224s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 28%] 224s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 28%] 224s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 224s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 224s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 224s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 224s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 224s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 224s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 224s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 224s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 224s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 224s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 224s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 224s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 224s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 224s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 224s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 224s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 224s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 224s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 224s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 224s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 224s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 29%] 224s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 29%] 224s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 29%] 224s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 29%] 224s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 29%] 224s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 29%] 224s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 29%] 224s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 29%] 224s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 29%] 224s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 29%] 224s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 29%] 224s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 29%] 224s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 224s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 224s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 224s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 224s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 224s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 224s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 224s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 224s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 224s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 224s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 224s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 224s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 224s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 224s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 224s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 224s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 224s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 224s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 224s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 224s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 224s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 224s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 30%] 224s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 30%] 224s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 30%] 224s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 30%] 224s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 30%] 224s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 30%] 224s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 30%] 224s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 30%] 224s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 30%] 224s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 30%] 224s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 30%] 224s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 30%] 224s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 224s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 224s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 224s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 224s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 224s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 224s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 224s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 224s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 224s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 224s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 224s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 224s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 224s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 224s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 224s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 224s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 224s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 224s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 224s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 224s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 224s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 31%] 224s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 31%] 224s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 31%] 224s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 31%] 224s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 31%] 224s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 31%] 224s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 31%] 224s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 31%] 224s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 31%] 224s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 31%] 224s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 31%] 224s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 31%] 224s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 31%] 224s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 224s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_long PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 32%] 224s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_numbers PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_options PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_printf PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 32%] 224s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 224s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 224s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 33%] 224s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_functions PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_emails PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_urls PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_credits PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_gconf PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_validxml PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 33%] 224s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 224s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 224s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 224s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 224s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 224s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 224s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 224s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 224s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 224s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 224s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 224s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 34%] 224s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 35%] 224s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 224s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 224s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 224s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 224s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 224s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 224s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 224s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 224s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 224s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 224s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 224s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 224s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 224s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 224s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 224s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 224s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 224s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 224s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 224s tests/translate/lang/test_common.py::test_alter_length PASSED [ 36%] 224s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 36%] 224s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 36%] 224s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 36%] 224s tests/translate/lang/test_el.py::test_sentences PASSED [ 36%] 224s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 36%] 224s tests/translate/lang/test_es.py::test_sentences PASSED [ 36%] 224s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 36%] 224s tests/translate/lang/test_fa.py::test_sentences PASSED [ 36%] 224s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 36%] 224s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 36%] 224s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 36%] 224s tests/translate/lang/test_fr.py::test_sentences PASSED [ 36%] 224s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 36%] 224s tests/translate/lang/test_hy.py::test_sentences PASSED [ 36%] 224s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 224s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 224s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 224s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 224s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 224s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 224s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 224s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 224s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 224s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 224s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 224s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 224s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 224s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 224s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 224s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 224s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 224s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 224s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 224s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 37%] 224s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 37%] 224s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 37%] 224s tests/translate/lang/test_team.py::test_simple PASSED [ 37%] 224s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 37%] 224s tests/translate/lang/test_th.py::test_sentences PASSED [ 37%] 224s tests/translate/lang/test_tr.py::test_sentences PASSED [ 37%] 224s tests/translate/lang/test_uk.py::test_sentences PASSED [ 37%] 224s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 37%] 224s tests/translate/lang/test_vi.py::test_sentences PASSED [ 37%] 224s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 37%] 224s tests/translate/lang/test_zh.py::test_sentences PASSED [ 37%] 224s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 37%] 224s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 37%] 224s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 37%] 224s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 224s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 38%] 224s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 224s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 224s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 224s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 224s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 224s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 224s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 224s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 224s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 224s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 224s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 224s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 224s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 224s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 224s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 224s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 224s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 224s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 38%] 224s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 38%] 224s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 38%] 224s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 38%] 224s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 38%] 224s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 38%] 224s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 38%] 224s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 38%] 224s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 38%] 224s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 38%] 224s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 38%] 224s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 38%] 224s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 38%] 224s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 38%] 224s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 38%] 224s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 224s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 224s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 224s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 224s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 224s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 224s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 224s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 224s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 224s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 225s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 39%] 225s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 225s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 225s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 225s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 40%] 225s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 40%] 225s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 40%] 225s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 40%] 225s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 40%] 225s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 40%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 42%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 44%] 225s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 225s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 225s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 225s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 225s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 225s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 225s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 225s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 225s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 225s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 225s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 225s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 225s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 225s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 225s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 225s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 225s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 225s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 225s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 225s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 225s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 225s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 225s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 45%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 45%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 45%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 45%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 45%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 45%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 225s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 225s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 225s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 225s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 225s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 225s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 225s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 225s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 225s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 225s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 46%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 46%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 46%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 46%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 46%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 46%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 225s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding_save PASSED [ 47%] 225s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 225s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 225s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 225s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 225s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 225s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 225s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 225s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 225s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 225s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 225s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 225s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 225s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 225s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 225s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 47%] 225s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 47%] 225s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 47%] 225s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 47%] 225s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 47%] 225s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 47%] 225s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 48%] 225s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 225s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 225s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 225s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 225s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 225s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 225s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 225s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 225s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 225s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 225s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 225s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 225s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 225s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 225s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 225s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 225s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 225s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 225s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 225s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 225s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 225s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 225s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 225s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 225s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 225s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 225s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 225s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 49%] 225s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 49%] 225s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 49%] 225s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 49%] 225s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 49%] 225s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 49%] 225s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 225s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 225s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 225s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 225s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 225s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 225s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 225s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 225s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 225s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 225s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 225s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 225s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 225s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 225s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 225s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 225s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 225s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 225s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 225s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 225s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 225s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 225s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 225s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 225s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 225s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 225s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 225s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 225s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 225s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 225s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 225s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 225s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 225s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 225s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 51%] 225s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 51%] 225s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 51%] 225s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 51%] 225s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 225s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 225s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 225s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 225s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_comments PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 54%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 56%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 57%] 225s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 225s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 225s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 225s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 225s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 225s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 225s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 58%] 225s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_invalid_nesting PASSED [ 58%] 225s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 225s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 225s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 225s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 225s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 225s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 225s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 225s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 225s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 225s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 225s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 225s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 225s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 225s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 58%] 225s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_invalid PASSED [ 58%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 58%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 58%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 58%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 58%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 225s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 225s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 225s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 225s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 59%] 225s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 59%] 225s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 59%] 225s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 59%] 225s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 59%] 225s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 225s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 225s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 225s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 225s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 225s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 225s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 225s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 225s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 225s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 225s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 225s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 225s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 225s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 225s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 225s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 225s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 225s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 60%] 225s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 225s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 225s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 225s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 225s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 225s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 225s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 225s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 225s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 225s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 225s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 225s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 60%] 225s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 60%] 225s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 60%] 225s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 60%] 225s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 60%] 225s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 225s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 225s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 225s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 225s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 225s 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%] 225s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 61%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 225s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 225s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 225s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 225s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 225s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 225s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 225s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 62%] 225s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 62%] 225s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 62%] 225s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 62%] 225s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 62%] 225s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 62%] 225s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 225s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 225s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 225s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 225s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 225s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 225s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 225s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 225s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 225s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 225s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 225s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 225s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 225s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 225s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 225s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 225s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 225s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 225s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 225s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 225s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 225s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 225s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 225s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 225s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 225s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 225s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 225s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 225s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 63%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 63%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 63%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 63%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 63%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 63%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 64%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 225s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 65%] 226s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 226s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 226s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 226s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 226s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 226s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 226s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 226s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 226s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 226s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 226s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 226s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 226s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 226s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 226s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 226s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 226s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 226s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 226s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 226s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 226s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 226s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 226s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 226s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 226s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 226s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 226s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 226s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 226s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 66%] 226s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 66%] 226s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 66%] 226s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 66%] 226s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 66%] 226s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 66%] 226s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 67%] 226s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 68%] 226s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 226s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 226s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 226s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 226s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 226s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 226s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 226s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 226s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 226s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 226s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 226s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 226s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 69%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 69%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 69%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 69%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 69%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 69%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 69%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 70%] 226s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 70%] 226s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 226s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 226s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 226s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 226s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 226s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 226s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 226s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 226s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 226s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 71%] 226s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 72%] 226s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 73%] 226s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 226s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 226s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 226s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 74%] 227s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 227s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 227s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 227s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 227s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 227s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 227s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 227s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 227s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 227s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 227s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 227s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 227s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 227s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 227s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 227s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 75%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 75%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 75%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 75%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 75%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 75%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 75%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 75%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 76%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 77%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 78%] 227s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 78%] 227s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 78%] 227s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 78%] 227s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 78%] 227s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 227s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 227s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 227s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 227s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 227s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 227s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 227s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 227s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 227s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 227s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 227s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 227s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 227s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 227s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 227s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 227s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 227s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 227s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 227s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 227s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 227s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 227s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 227s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 227s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 227s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 227s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 79%] 227s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 79%] 227s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 79%] 227s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 79%] 227s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 79%] 227s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 79%] 227s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 79%] 227s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 79%] 227s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 227s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 227s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 227s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 227s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 227s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 227s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 227s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 227s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 227s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 227s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 227s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 227s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 227s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 227s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 227s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 227s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 227s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 227s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 227s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 227s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 227s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 227s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 227s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 227s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 227s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 227s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 80%] 227s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 80%] 227s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 80%] 227s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 80%] 227s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 80%] 227s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 80%] 227s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 80%] 227s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 80%] 227s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 227s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 227s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 227s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 227s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 227s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 227s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 227s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 227s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 227s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 227s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 227s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 227s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 227s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 227s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 227s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 227s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 227s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 227s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 227s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 227s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 227s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 227s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 227s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 227s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 227s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 81%] 227s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 81%] 227s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 81%] 227s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 81%] 227s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 81%] 227s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 81%] 227s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 81%] 227s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 81%] 227s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 81%] 227s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 227s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 227s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 227s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 227s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 227s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 227s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 227s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 227s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 227s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 227s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 227s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 227s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 227s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 227s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 227s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 227s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 82%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 82%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 82%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 82%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 82%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 82%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 82%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 82%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 227s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 227s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 227s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 227s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 83%] 227s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 83%] 227s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 83%] 227s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 83%] 227s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 83%] 227s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 83%] 227s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 83%] 227s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 83%] 227s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 83%] 227s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 83%] 227s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_ordering PASSED [ 83%] 227s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create_blank PASSED [ 83%] 227s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_add PASSED [ 83%] 227s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_remove PASSED [ 83%] 227s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_find PASSED [ 83%] 227s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_parse PASSED [ 83%] 227s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_files PASSED [ 83%] 227s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_save PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_extensions PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_mimetypes PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_translate PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_markup PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_nonascii PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_ordering PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 84%] 227s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_ordering PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_ordering PASSED [ 84%] 227s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 85%] 227s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 85%] 227s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 85%] 227s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 227s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 227s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 227s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 227s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 227s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 227s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 227s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 227s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 227s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_ordering PASSED [ 85%] 227s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 227s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 227s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 227s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 227s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 227s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 227s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 227s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 227s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 227s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 227s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 227s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 227s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 227s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 227s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 227s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 227s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 227s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 227s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 227s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 227s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 227s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 86%] 227s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 86%] 227s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 86%] 227s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 86%] 227s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 227s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 227s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 227s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 227s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 227s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 227s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 227s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 227s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 227s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 227s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 227s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 227s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 227s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 227s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 227s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 227s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 227s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 227s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 227s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 227s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 227s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 227s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 227s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 227s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 227s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 227s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 227s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 227s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 227s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 227s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 87%] 227s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 87%] 227s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 87%] 227s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 227s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 227s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 227s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 227s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 227s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 227s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 227s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 227s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 227s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 227s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 227s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 227s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 227s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 227s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 227s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 227s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 227s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 227s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 227s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 227s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 227s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 227s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 88%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 88%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 88%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 227s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 227s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 227s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 227s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 227s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 227s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 227s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 227s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 227s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 227s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 227s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 227s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 227s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 227s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 227s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 89%] 227s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 89%] 227s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 89%] 227s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 227s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 227s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 227s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 227s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 227s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 227s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 227s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 227s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 227s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 227s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 227s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 227s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 227s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 227s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 227s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 227s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 227s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 227s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 227s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 227s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 227s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 227s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 227s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 227s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 227s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 227s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 227s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 227s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 227s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 227s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 227s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 227s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 227s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 227s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 227s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 227s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 227s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 227s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 227s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 227s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 227s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 227s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 92%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 227s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 228s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 228s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 92%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 93%] 228s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 228s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 228s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 228s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 228s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 228s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 228s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 228s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 228s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 228s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 228s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 228s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 228s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_blank PASSED [ 94%] 228s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_partial PASSED [ 94%] 228s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 228s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 228s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 228s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 228s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 228s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 228s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 228s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 228s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 228s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 228s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 228s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 228s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 228s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 228s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 228s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 228s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 228s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 228s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 228s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 95%] 228s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 95%] 228s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 95%] 228s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 228s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 228s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 228s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 228s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 228s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 228s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 228s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 228s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 228s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 228s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 228s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 228s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 228s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 228s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 228s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 228s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 228s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 228s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 228s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 228s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 228s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 228s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 228s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 228s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 228s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 228s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 228s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 228s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 228s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 228s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 228s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 96%] 228s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 228s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 228s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 228s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 228s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 228s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 228s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 228s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 228s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 228s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 228s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 228s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 228s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 228s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 228s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 228s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 228s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 228s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 228s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 228s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 228s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 228s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 228s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 228s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 228s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 228s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 228s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 228s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 228s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 228s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 228s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 228s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 228s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 228s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 228s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 228s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 228s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 228s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 228s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 228s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 228s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 228s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 228s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 228s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 228s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 228s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 228s 228s =============================== warnings summary =============================== 228s tests/translate/storage/test_cpo.py:15 228s Warning: 228s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 228s ImportError('gettext PO library not found') 228s In pytest 9.1 this warning will become an error by default. 228s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 228s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 228s 228s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 228s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.4TvmSg/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 228s Enable tracemalloc to get traceback where the object was allocated. 228s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 228s 228s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 228s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 228s Enable tracemalloc to get traceback where the object was allocated. 228s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 228s 228s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 228s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 228s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 228s Enable tracemalloc to get traceback where the object was allocated. 228s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 228s 228s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 228s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 228s Enable tracemalloc to get traceback where the object was allocated. 228s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 228s 228s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 228s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 228s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 228s Enable tracemalloc to get traceback where the object was allocated. 228s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 228s 228s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 228s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 228s Enable tracemalloc to get traceback where the object was allocated. 228s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 228s 228s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 228s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 228s Enable tracemalloc to get traceback where the object was allocated. 228s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 228s 228s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 228s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 228s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 228s Enable tracemalloc to get traceback where the object was allocated. 228s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 228s 228s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 228s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 228s Enable tracemalloc to get traceback where the object was allocated. 228s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 228s 228s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 228s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 228s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 228s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 228s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 228s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 228s Warning: Could not find accesskey for key.accesskey 228s 228s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 228s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 228s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 228s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 228s Enable tracemalloc to get traceback where the object was allocated. 228s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 228s 228s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 228s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 228s Enable tracemalloc to get traceback where the object was allocated. 228s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 228s 228s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 228s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.4TvmSg/autopkgtest_tmp/tests/translate/convert/test.idml'> 228s Enable tracemalloc to get traceback where the object was allocated. 228s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 228s 228s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 228s Warning: unclosed file <_io.BufferedReader name='translation.po'> 228s Enable tracemalloc to get traceback where the object was allocated. 228s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 228s 228s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 228s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 228s Enable tracemalloc to get traceback where the object was allocated. 228s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 228s 228s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 228s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 228s Enable tracemalloc to get traceback where the object was allocated. 228s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 228s 228s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 228s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 228s Warning: Could not find accesskey for prop.accesskey 228s 228s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 228s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 228s Enable tracemalloc to get traceback where the object was allocated. 228s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 228s 228s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 228s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 228s Enable tracemalloc to get traceback where the object was allocated. 228s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 228s 228s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 228s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 228s Enable tracemalloc to get traceback where the object was allocated. 229s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 229s 229s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 229s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 229s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 229s Enable tracemalloc to get traceback where the object was allocated. 229s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 229s 229s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 229s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 229s Enable tracemalloc to get traceback where the object was allocated. 229s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 229s 229s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 229s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 229s Enable tracemalloc to get traceback where the object was allocated. 229s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 229s 229s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 229s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 229s Enable tracemalloc to get traceback where the object was allocated. 229s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 229s 229s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 229s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 229s Enable tracemalloc to get traceback where the object was allocated. 229s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 229s 229s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 229s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 229s Enable tracemalloc to get traceback where the object was allocated. 229s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 229s 229s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 229s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.4TvmSg/autopkgtest_tmp/tests/translate/convert/test.odt'> 229s Enable tracemalloc to get traceback where the object was allocated. 229s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 229s 229s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 229s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 229s Enable tracemalloc to get traceback where the object was allocated. 229s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 229s 229s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 229s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 229s Enable tracemalloc to get traceback where the object was allocated. 229s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 229s 229s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 229s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 229s Enable tracemalloc to get traceback where the object was allocated. 229s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 229s 229s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 229s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 229s Enable tracemalloc to get traceback where the object was allocated. 229s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 229s 229s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 229s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 229s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 229s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 229s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 229s 229s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 229s Warning: DTD parse error: :1:35:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 229s 229s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 229s Warning: DTD file '' does not validate 229s 229s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 229s --------------------------- snapshot report summary ---------------------------- 229s 23 snapshots passed. 229s =========================== short test summary info ============================ 229s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 229s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 229s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 229s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 229s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 229s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 229s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 229s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 229s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 229s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 229s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 229s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 229s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 229s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 229s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 229s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 229s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 229s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 229s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 229s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 229s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 229s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 229s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 229s 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. 229s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 229s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 229s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 229s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 229s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 229s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 229s 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 229s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 229s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 229s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 229s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 229s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 229s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 229s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 229s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 229s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 229s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 229s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 229s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 229s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 229s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 229s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 229s ========== 3324 passed, 22 skipped, 39 xfailed, 50 warnings in 10.43s ========== 229s autopkgtest [06:07:56]: test python3-translate: -----------------------] 230s python3-translate PASS 230s autopkgtest [06:07:57]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 230s autopkgtest [06:07:57]: test python3-translate-commands: preparing testbed 242s Creating nova instance adt-resolute-s390x-translate-toolkit-20251028-060407-juju-7f2275-prod-proposed-migration-environment-2-2b10bf49-d4e1-46a3-9263-6545b98adf53 from image adt/ubuntu-resolute-s390x-server-20251028.img (UUID 222a8a17-8cdf-422e-baeb-91db113eb3ff)... 282s autopkgtest [06:08:49]: testbed dpkg architecture: s390x 283s autopkgtest [06:08:50]: testbed apt version: 3.1.8ubuntu1 283s autopkgtest [06:08:50]: @@@@@@@@@@@@@@@@@@@@ test bed setup 283s autopkgtest [06:08:50]: testbed release detected to be: resolute 284s autopkgtest [06:08:51]: updating testbed package index (apt update) 285s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 285s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 285s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 285s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 285s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [61.7 kB] 285s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [216 kB] 286s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5856 B] 286s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [3342 kB] 288s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main s390x Packages [231 kB] 288s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted s390x Packages [940 B] 288s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x Packages [692 kB] 288s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse s390x Packages [5116 B] 288s Fetched 4642 kB in 4s (1216 kB/s) 289s Reading package lists... 290s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 290s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 290s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 290s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 290s Reading package lists... 290s Reading package lists... 290s Building dependency tree... 290s Reading state information... 291s Calculating upgrade... 291s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 291s autopkgtest [06:08:58]: upgrading testbed (apt dist-upgrade and autopurge) 291s Reading package lists... 291s Building dependency tree... 291s Reading state information... 291s Calculating upgrade... 291s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 291s Reading package lists... 291s Building dependency tree... 291s Reading state information... 291s Solving dependencies... 291s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 294s Reading package lists... 295s Building dependency tree... 295s Reading state information... 295s Solving dependencies... 295s The following NEW packages will be installed: 295s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 295s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 295s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 295s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 295s python3-cheroot python3-cwcwidth python3-dateutil python3-diff-match-patch 295s python3-enchant python3-iniconfig python3-iniparse python3-levenshtein 295s python3-lxml python3-mistletoe python3-packaging python3-phply 295s python3-pluggy python3-ply python3-pycountry python3-pytest python3-pytz 295s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 295s python3-soupsieve python3-syrupy python3-translate python3-vobject 295s python3-wcwidth python3-xapian subversion translate-toolkit 295s 0 upgraded, 48 newly installed, 0 to remove and 0 not upgraded. 295s Need to get 13.5 MB of archives. 295s After this operation, 65.2 MB of additional disk space will be used. 295s Get:1 http://ftpmaster.internal/ubuntu resolute/main s390x emacsen-common all 3.0.8 [13.9 kB] 295s Get:2 http://ftpmaster.internal/ubuntu resolute/main s390x dictionaries-common all 1.30.10 [178 kB] 295s Get:3 http://ftpmaster.internal/ubuntu resolute/main s390x libgomp1 s390x 15.2.0-5ubuntu1 [154 kB] 295s Get:4 http://ftpmaster.internal/ubuntu resolute/main s390x gettext s390x 0.23.1-2build2 [1062 kB] 297s Get:5 http://ftpmaster.internal/ubuntu resolute/main s390x hunspell-en-us all 1:2020.12.07-4 [585 kB] 297s Get:6 http://ftpmaster.internal/ubuntu resolute/main s390x libapr1t64 s390x 1.7.5-1 [114 kB] 297s Get:7 http://ftpmaster.internal/ubuntu resolute/main s390x libaprutil1t64 s390x 1.6.3-3ubuntu2 [98.4 kB] 297s Get:8 http://ftpmaster.internal/ubuntu resolute/main s390x libaspell15 s390x 0.60.8.1-4 [355 kB] 298s Get:9 http://ftpmaster.internal/ubuntu resolute/main s390x libhunspell-1.7-0 s390x 1.7.2+really1.7.2-10build3 [304 kB] 298s Get:10 http://ftpmaster.internal/ubuntu resolute/main s390x libenchant-2-2 s390x 2.8.2+dfsg1-3 [61.2 kB] 298s Get:11 http://ftpmaster.internal/ubuntu resolute/main s390x libexttextcat-data all 3.4.7-1ubuntu1 [193 kB] 298s Get:12 http://ftpmaster.internal/ubuntu resolute/universe s390x libserf-1-1 s390x 1.3.10-3ubuntu1 [49.8 kB] 298s Get:13 http://ftpmaster.internal/ubuntu resolute/universe s390x libutf8proc3 s390x 2.10.0-2 [72.0 kB] 298s Get:14 http://ftpmaster.internal/ubuntu resolute/universe s390x libsvn1 s390x 1.14.5-4 [1359 kB] 299s Get:15 http://ftpmaster.internal/ubuntu resolute/universe s390x libxapian30 s390x 1.4.29-3 [740 kB] 299s Get:16 http://ftpmaster.internal/ubuntu resolute/main s390x libxslt1.1 s390x 1.1.43-0.3 [163 kB] 299s Get:17 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-aeidon all 1.15-2 [231 kB] 299s Get:18 http://ftpmaster.internal/ubuntu resolute/main s390x python3-all s390x 3.13.7-1 [886 B] 299s Get:19 http://ftpmaster.internal/ubuntu resolute/main s390x python3-soupsieve all 2.7-2 [33.6 kB] 299s Get:20 http://ftpmaster.internal/ubuntu resolute-proposed/main s390x python3-bs4 all 4.14.2-1 [82.8 kB] 299s Get:21 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-charset-normalizer s390x 3.4.2-1 [129 kB] 299s Get:22 http://ftpmaster.internal/ubuntu resolute/main s390x python3-cheroot all 10.0.1+ds1-4 [78.6 kB] 299s Get:23 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-cwcwidth s390x 0.1.10-1build2 [28.9 kB] 299s Get:24 http://ftpmaster.internal/ubuntu resolute/main s390x python3-dateutil all 2.9.0-4 [80.3 kB] 299s Get:25 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-diff-match-patch all 20241021-1 [33.6 kB] 299s Get:26 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-enchant all 3.3.0~rc1-1 [35.1 kB] 299s Get:27 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-iniconfig all 1.1.1-2 [6024 B] 299s Get:28 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-rapidfuzz s390x 3.12.2+ds-1build1 [1790 kB] 301s Get:29 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-levenshtein s390x 0.27.1-2build1 [181 kB] 301s Get:30 http://ftpmaster.internal/ubuntu resolute/main s390x python3-lxml s390x 6.0.1-1build1 [2480 kB] 304s Get:31 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-mistletoe all 1.4.0-1 [38.2 kB] 304s Get:32 http://ftpmaster.internal/ubuntu resolute/main s390x python3-packaging all 25.0-1 [52.8 kB] 304s Get:33 http://ftpmaster.internal/ubuntu resolute/main s390x python3-ply all 3.11-9 [45.8 kB] 304s Get:34 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-phply all 1.2.6-1 [50.5 kB] 304s Get:35 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pluggy all 1.6.0-1 [21.0 kB] 304s Get:36 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pytest all 8.3.5-2 [252 kB] 304s Get:37 http://ftpmaster.internal/ubuntu resolute/main s390x python3-pytz all 2025.2-4 [32.3 kB] 304s Get:38 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-ruamel.yaml.clib s390x 0.2.12+ds-1build1 [151 kB] 304s Get:39 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 304s Get:40 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-syrupy all 5.0.0-1 [47.9 kB] 305s Get:41 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-translate all 3.15.1-1 [319 kB] 305s Get:42 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-vobject all 0.9.9+dfsg-1 [41.5 kB] 305s Get:43 http://ftpmaster.internal/ubuntu resolute/main s390x python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 305s Get:44 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-xapian s390x 1.4.29-1build1 [572 kB] 306s Get:45 http://ftpmaster.internal/ubuntu resolute/universe s390x subversion s390x 1.14.5-4 [899 kB] 307s Get:46 http://ftpmaster.internal/ubuntu resolute/universe s390x translate-toolkit all 3.15.1-1 [81.0 kB] 307s Get:47 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-iniparse all 0.5.1-1 [21.2 kB] 307s Get:48 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 307s Preconfiguring packages ... 307s Fetched 13.5 MB in 12s (1129 kB/s) 307s Selecting previously unselected package emacsen-common. 307s (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 ... 56948 files and directories currently installed.) 307s Preparing to unpack .../00-emacsen-common_3.0.8_all.deb ... 307s Unpacking emacsen-common (3.0.8) ... 307s Selecting previously unselected package dictionaries-common. 307s Preparing to unpack .../01-dictionaries-common_1.30.10_all.deb ... 307s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 307s Unpacking dictionaries-common (1.30.10) ... 307s Selecting previously unselected package libgomp1:s390x. 307s Preparing to unpack .../02-libgomp1_15.2.0-5ubuntu1_s390x.deb ... 307s Unpacking libgomp1:s390x (15.2.0-5ubuntu1) ... 307s Selecting previously unselected package gettext. 307s Preparing to unpack .../03-gettext_0.23.1-2build2_s390x.deb ... 307s Unpacking gettext (0.23.1-2build2) ... 307s Selecting previously unselected package hunspell-en-us. 307s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-4_all.deb ... 307s Unpacking hunspell-en-us (1:2020.12.07-4) ... 307s Selecting previously unselected package libapr1t64:s390x. 307s Preparing to unpack .../05-libapr1t64_1.7.5-1_s390x.deb ... 307s Unpacking libapr1t64:s390x (1.7.5-1) ... 307s Selecting previously unselected package libaprutil1t64:s390x. 307s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu2_s390x.deb ... 307s Unpacking libaprutil1t64:s390x (1.6.3-3ubuntu2) ... 307s Selecting previously unselected package libaspell15:s390x. 307s Preparing to unpack .../07-libaspell15_0.60.8.1-4_s390x.deb ... 307s Unpacking libaspell15:s390x (0.60.8.1-4) ... 307s Selecting previously unselected package libhunspell-1.7-0:s390x. 307s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_s390x.deb ... 307s Unpacking libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 307s Selecting previously unselected package libenchant-2-2:s390x. 307s Preparing to unpack .../09-libenchant-2-2_2.8.2+dfsg1-3_s390x.deb ... 307s Unpacking libenchant-2-2:s390x (2.8.2+dfsg1-3) ... 307s Selecting previously unselected package libexttextcat-data. 307s Preparing to unpack .../10-libexttextcat-data_3.4.7-1ubuntu1_all.deb ... 307s Unpacking libexttextcat-data (3.4.7-1ubuntu1) ... 307s Selecting previously unselected package libserf-1-1:s390x. 307s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_s390x.deb ... 307s Unpacking libserf-1-1:s390x (1.3.10-3ubuntu1) ... 307s Selecting previously unselected package libutf8proc3:s390x. 307s Preparing to unpack .../12-libutf8proc3_2.10.0-2_s390x.deb ... 307s Unpacking libutf8proc3:s390x (2.10.0-2) ... 307s Selecting previously unselected package libsvn1:s390x. 307s Preparing to unpack .../13-libsvn1_1.14.5-4_s390x.deb ... 307s Unpacking libsvn1:s390x (1.14.5-4) ... 307s Selecting previously unselected package libxapian30:s390x. 307s Preparing to unpack .../14-libxapian30_1.4.29-3_s390x.deb ... 307s Unpacking libxapian30:s390x (1.4.29-3) ... 307s Selecting previously unselected package libxslt1.1:s390x. 307s Preparing to unpack .../15-libxslt1.1_1.1.43-0.3_s390x.deb ... 307s Unpacking libxslt1.1:s390x (1.1.43-0.3) ... 307s Selecting previously unselected package python3-aeidon. 307s Preparing to unpack .../16-python3-aeidon_1.15-2_all.deb ... 307s Unpacking python3-aeidon (1.15-2) ... 307s Selecting previously unselected package python3-all. 307s Preparing to unpack .../17-python3-all_3.13.7-1_s390x.deb ... 307s Unpacking python3-all (3.13.7-1) ... 307s Selecting previously unselected package python3-soupsieve. 307s Preparing to unpack .../18-python3-soupsieve_2.7-2_all.deb ... 307s Unpacking python3-soupsieve (2.7-2) ... 307s Selecting previously unselected package python3-bs4. 307s Preparing to unpack .../19-python3-bs4_4.14.2-1_all.deb ... 307s Unpacking python3-bs4 (4.14.2-1) ... 307s Selecting previously unselected package python3-charset-normalizer. 307s Preparing to unpack .../20-python3-charset-normalizer_3.4.2-1_s390x.deb ... 307s Unpacking python3-charset-normalizer (3.4.2-1) ... 307s Selecting previously unselected package python3-cheroot. 307s Preparing to unpack .../21-python3-cheroot_10.0.1+ds1-4_all.deb ... 307s Unpacking python3-cheroot (10.0.1+ds1-4) ... 307s Selecting previously unselected package python3-cwcwidth. 307s Preparing to unpack .../22-python3-cwcwidth_0.1.10-1build2_s390x.deb ... 307s Unpacking python3-cwcwidth (0.1.10-1build2) ... 307s Selecting previously unselected package python3-dateutil. 307s Preparing to unpack .../23-python3-dateutil_2.9.0-4_all.deb ... 307s Unpacking python3-dateutil (2.9.0-4) ... 307s Selecting previously unselected package python3-diff-match-patch. 307s Preparing to unpack .../24-python3-diff-match-patch_20241021-1_all.deb ... 307s Unpacking python3-diff-match-patch (20241021-1) ... 307s Selecting previously unselected package python3-enchant. 307s Preparing to unpack .../25-python3-enchant_3.3.0~rc1-1_all.deb ... 307s Unpacking python3-enchant (3.3.0~rc1-1) ... 307s Selecting previously unselected package python3-iniconfig. 307s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 307s Unpacking python3-iniconfig (1.1.1-2) ... 307s Selecting previously unselected package python3-rapidfuzz. 307s Preparing to unpack .../27-python3-rapidfuzz_3.12.2+ds-1build1_s390x.deb ... 307s Unpacking python3-rapidfuzz (3.12.2+ds-1build1) ... 307s Selecting previously unselected package python3-levenshtein. 307s Preparing to unpack .../28-python3-levenshtein_0.27.1-2build1_s390x.deb ... 307s Unpacking python3-levenshtein (0.27.1-2build1) ... 307s Selecting previously unselected package python3-lxml:s390x. 307s Preparing to unpack .../29-python3-lxml_6.0.1-1build1_s390x.deb ... 307s Unpacking python3-lxml:s390x (6.0.1-1build1) ... 308s Selecting previously unselected package python3-mistletoe. 308s Preparing to unpack .../30-python3-mistletoe_1.4.0-1_all.deb ... 308s Unpacking python3-mistletoe (1.4.0-1) ... 308s Selecting previously unselected package python3-packaging. 308s Preparing to unpack .../31-python3-packaging_25.0-1_all.deb ... 308s Unpacking python3-packaging (25.0-1) ... 308s Selecting previously unselected package python3-ply. 308s Preparing to unpack .../32-python3-ply_3.11-9_all.deb ... 308s Unpacking python3-ply (3.11-9) ... 308s Selecting previously unselected package python3-phply. 308s Preparing to unpack .../33-python3-phply_1.2.6-1_all.deb ... 308s Unpacking python3-phply (1.2.6-1) ... 308s Selecting previously unselected package python3-pluggy. 308s Preparing to unpack .../34-python3-pluggy_1.6.0-1_all.deb ... 308s Unpacking python3-pluggy (1.6.0-1) ... 308s Selecting previously unselected package python3-pytest. 308s Preparing to unpack .../35-python3-pytest_8.3.5-2_all.deb ... 308s Unpacking python3-pytest (8.3.5-2) ... 308s Selecting previously unselected package python3-pytz. 308s Preparing to unpack .../36-python3-pytz_2025.2-4_all.deb ... 308s Unpacking python3-pytz (2025.2-4) ... 308s Selecting previously unselected package python3-ruamel.yaml.clib. 308s Preparing to unpack .../37-python3-ruamel.yaml.clib_0.2.12+ds-1build1_s390x.deb ... 308s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 308s Selecting previously unselected package python3-ruamel.yaml. 308s Preparing to unpack .../38-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 308s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 308s Selecting previously unselected package python3-syrupy. 308s Preparing to unpack .../39-python3-syrupy_5.0.0-1_all.deb ... 308s Unpacking python3-syrupy (5.0.0-1) ... 308s Selecting previously unselected package python3-translate. 308s Preparing to unpack .../40-python3-translate_3.15.1-1_all.deb ... 308s Unpacking python3-translate (3.15.1-1) ... 308s Selecting previously unselected package python3-vobject. 308s Preparing to unpack .../41-python3-vobject_0.9.9+dfsg-1_all.deb ... 308s Unpacking python3-vobject (0.9.9+dfsg-1) ... 308s Selecting previously unselected package python3-wcwidth. 308s Preparing to unpack .../42-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 308s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 308s Selecting previously unselected package python3-xapian. 308s Preparing to unpack .../43-python3-xapian_1.4.29-1build1_s390x.deb ... 308s Unpacking python3-xapian (1.4.29-1build1) ... 308s Selecting previously unselected package subversion. 308s Preparing to unpack .../44-subversion_1.14.5-4_s390x.deb ... 308s Unpacking subversion (1.14.5-4) ... 308s Selecting previously unselected package translate-toolkit. 308s Preparing to unpack .../45-translate-toolkit_3.15.1-1_all.deb ... 308s Unpacking translate-toolkit (3.15.1-1) ... 308s Selecting previously unselected package python3-iniparse. 308s Preparing to unpack .../46-python3-iniparse_0.5.1-1_all.deb ... 308s Unpacking python3-iniparse (0.5.1-1) ... 308s Selecting previously unselected package python3-pycountry. 308s Preparing to unpack .../47-python3-pycountry_24.6.1+ds1-1_all.deb ... 308s Unpacking python3-pycountry (24.6.1+ds1-1) ... 308s Setting up python3-iniconfig (1.1.1-2) ... 308s Setting up libxapian30:s390x (1.4.29-3) ... 308s Setting up python3-rapidfuzz (3.12.2+ds-1build1) ... 308s Setting up python3-diff-match-patch (20241021-1) ... 308s Setting up python3-aeidon (1.15-2) ... 308s Setting up libutf8proc3:s390x (2.10.0-2) ... 308s Setting up libaspell15:s390x (0.60.8.1-4) ... 308s Setting up python3-charset-normalizer (3.4.2-1) ... 308s Setting up python3-ply (3.11-9) ... 308s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 308s Setting up python3-all (3.13.7-1) ... 308s Setting up python3-pytz (2025.2-4) ... 308s Setting up libgomp1:s390x (15.2.0-5ubuntu1) ... 308s Setting up python3-packaging (25.0-1) ... 309s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 309s Setting up emacsen-common (3.0.8) ... 309s Setting up python3-cheroot (10.0.1+ds1-4) ... 309s Setting up python3-pycountry (24.6.1+ds1-1) ... 309s Setting up python3-xapian (1.4.29-1build1) ... 309s Setting up python3-cwcwidth (0.1.10-1build2) ... 309s Setting up python3-pluggy (1.6.0-1) ... 309s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 309s Setting up python3-mistletoe (1.4.0-1) ... 309s Setting up libexttextcat-data (3.4.7-1ubuntu1) ... 309s Setting up libapr1t64:s390x (1.7.5-1) ... 309s Setting up libxslt1.1:s390x (1.1.43-0.3) ... 309s Setting up python3-dateutil (2.9.0-4) ... 309s Setting up python3-levenshtein (0.27.1-2build1) ... 309s Setting up libhunspell-1.7-0:s390x (1.7.2+really1.7.2-10build3) ... 309s Setting up python3-soupsieve (2.7-2) ... 310s Setting up python3-iniparse (0.5.1-1) ... 310s Setting up libaprutil1t64:s390x (1.6.3-3ubuntu2) ... 310s Setting up python3-vobject (0.9.9+dfsg-1) ... 310s Setting up gettext (0.23.1-2build2) ... 310s Setting up python3-phply (1.2.6-1) ... 310s Setting up dictionaries-common (1.30.10) ... 310s Setting up python3-pytest (8.3.5-2) ... 310s Setting up python3-syrupy (5.0.0-1) ... 310s Setting up libserf-1-1:s390x (1.3.10-3ubuntu1) ... 310s Setting up python3-bs4 (4.14.2-1) ... 310s Setting up python3-lxml:s390x (6.0.1-1build1) ... 311s Setting up hunspell-en-us (1:2020.12.07-4) ... 311s Setting up libsvn1:s390x (1.14.5-4) ... 311s Setting up libenchant-2-2:s390x (2.8.2+dfsg1-3) ... 311s Setting up subversion (1.14.5-4) ... 311s Setting up python3-enchant (3.3.0~rc1-1) ... 311s Setting up python3-translate (3.15.1-1) ... 311s Setting up translate-toolkit (3.15.1-1) ... 311s Processing triggers for libc-bin (2.42-0ubuntu3) ... 311s Processing triggers for man-db (2.13.1-1) ... 312s Processing triggers for install-info (7.1.1-1ubuntu1) ... 312s Processing triggers for dictionaries-common (1.30.10) ... 319s autopkgtest [06:09:26]: test python3-translate-commands: [----------------------- 319s ============================= test session starts ============================== 319s platform linux -- Python 3.13.9, pytest-8.3.5, pluggy-1.6.0 -- /usr/bin/python3.13 319s cachedir: .pytest_cache 319s rootdir: /tmp/autopkgtest.4TvmSg/autopkgtest_tmp 319s plugins: typeguard-4.4.2, syrupy-5.0.0 323s collecting ... collected 3383 items / 2 skipped 323s 323s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 323s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 323s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 323s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 323s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 323s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 323s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 323s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 323s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 323s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 323s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 323s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 323s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 323s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 323s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 323s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 323s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 323s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 323s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 323s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 323s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 323s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 323s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 323s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 323s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 323s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 323s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 323s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 323s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 323s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 323s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 323s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 323s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 323s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 323s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 323s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 323s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 323s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 323s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 323s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 323s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 323s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 323s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 323s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 323s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 323s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 323s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 323s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 323s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 323s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 323s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 3%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 4%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 323s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 323s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 323s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 323s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 323s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 323s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 323s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 323s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 323s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 323s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 323s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 323s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 6%] 323s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 323s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 323s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 323s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 323s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 323s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 323s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 323s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 323s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 323s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 323s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 323s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 323s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 323s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 323s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 323s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 323s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 323s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 323s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 323s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 323s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 323s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 323s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 323s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 323s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 323s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 323s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 323s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 323s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 323s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 323s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 323s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 323s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 323s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 7%] 323s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 323s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 323s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 323s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 323s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 323s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 323s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 323s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 323s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 323s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 323s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 323s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 323s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 323s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 323s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 323s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 323s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 323s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 323s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 323s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 323s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 323s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 323s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 323s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 323s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 323s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 323s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 323s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 323s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 323s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 323s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 323s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 323s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 323s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 8%] 323s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 323s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 323s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 323s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 323s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 323s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 323s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 323s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 323s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 323s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 323s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 323s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 323s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 323s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 323s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 323s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 323s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 323s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 323s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 323s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 323s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 323s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 323s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 323s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 323s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 323s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 323s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 323s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 323s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 323s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 323s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 323s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 323s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 9%] 323s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 9%] 323s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 323s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 323s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 323s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 323s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 323s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 323s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 323s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 323s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 324s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 324s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 324s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 324s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 324s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 324s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 324s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 324s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 324s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 324s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 324s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 324s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 324s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 324s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 324s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 324s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 324s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 324s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 324s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 324s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 324s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 10%] 324s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 324s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 324s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 10%] 324s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 10%] 324s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 324s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 324s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 324s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 324s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 324s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 324s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 324s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 11%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 12%] 324s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 12%] 324s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 12%] 324s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 12%] 324s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 324s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 324s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 324s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 324s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 324s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 324s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 13%] 324s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 324s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 324s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 324s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 324s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 324s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 324s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 324s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 324s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 14%] 324s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 14%] 324s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 324s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 324s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 15%] 324s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 15%] 324s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 15%] 324s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 324s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 324s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 324s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 324s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 324s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 324s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 324s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 324s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 324s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 324s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 324s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 324s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 324s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 324s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 324s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 324s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 324s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 324s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 324s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 324s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 324s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 324s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 324s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 324s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 324s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 324s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 16%] 324s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 16%] 324s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 324s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 324s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 324s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 16%] 324s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 16%] 324s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 16%] 324s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 324s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 324s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 324s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 324s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 324s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 324s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 324s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 324s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 324s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 324s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 324s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 324s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 324s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 324s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 324s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 324s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 324s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 324s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 324s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 324s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 324s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 324s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 324s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 324s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 324s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 324s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 17%] 324s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 17%] 324s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 17%] 324s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 17%] 324s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 324s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 17%] 324s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 17%] 324s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 324s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 324s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 324s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 324s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 324s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 324s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 324s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 324s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 324s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 324s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 324s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 324s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 324s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 324s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 324s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 324s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 324s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 324s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 324s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 324s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 324s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 324s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 18%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 18%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 18%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 18%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 18%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 18%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 18%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 18%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 19%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 324s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 324s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 324s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 324s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 324s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 324s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 324s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 324s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 324s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 324s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 324s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 324s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 324s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 324s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 20%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 20%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 20%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 20%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 20%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 20%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 20%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 324s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 324s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 324s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 324s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 324s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 21%] 324s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 21%] 324s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 21%] 324s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 21%] 324s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 21%] 324s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 21%] 324s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 21%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 21%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 21%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 324s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 324s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 22%] 324s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 22%] 324s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 22%] 324s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 22%] 324s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 22%] 324s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 22%] 324s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 22%] 324s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 22%] 324s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 22%] 324s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 324s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 324s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 324s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 324s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 324s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 324s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 324s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 324s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 324s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 324s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 324s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 324s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 324s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 324s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 324s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 324s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 324s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 324s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 324s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 324s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 324s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 324s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 324s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 324s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 23%] 324s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 23%] 324s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 23%] 324s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 23%] 324s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 23%] 324s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 23%] 324s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 23%] 324s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 23%] 324s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 23%] 324s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 324s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 324s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 324s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 324s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 324s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 324s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 324s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 324s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 324s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 324s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 324s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 324s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 324s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 324s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 324s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 324s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 324s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 324s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 324s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 324s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 324s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 324s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 324s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 324s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 24%] 324s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 24%] 324s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 24%] 324s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 24%] 324s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 24%] 324s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 24%] 324s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 24%] 324s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 24%] 324s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 24%] 324s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 24%] 324s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 324s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 324s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 324s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 25%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 26%] 325s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 26%] 325s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 325s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 325s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 27%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 325s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 325s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 325s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 325s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 325s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 325s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 325s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 325s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 325s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 325s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 28%] 325s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 28%] 325s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 28%] 325s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 28%] 325s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 28%] 325s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 28%] 325s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 28%] 325s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 28%] 325s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 28%] 325s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 28%] 325s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 28%] 325s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 28%] 325s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 325s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 325s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 325s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 325s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 325s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 325s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 325s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 325s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 325s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 325s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 325s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 325s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 325s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 325s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 325s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 325s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 325s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 325s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 325s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 325s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 325s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 29%] 325s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 29%] 325s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 29%] 325s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 29%] 325s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 29%] 325s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 29%] 325s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 29%] 325s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 29%] 325s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 29%] 325s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 29%] 325s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 29%] 325s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 29%] 325s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 325s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 325s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 325s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 325s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 325s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 325s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 325s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 325s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 325s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 325s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 325s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 325s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 325s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 325s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 325s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 325s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 325s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 325s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 325s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 325s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 325s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 325s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 30%] 325s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 30%] 325s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 30%] 325s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 30%] 325s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 30%] 325s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 30%] 325s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 30%] 325s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 30%] 325s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 30%] 325s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 30%] 325s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 30%] 325s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 30%] 325s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 325s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 325s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 325s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 325s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 325s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 325s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 325s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 325s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 325s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 325s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 325s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 325s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 325s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 325s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 325s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 325s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 325s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 325s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 325s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 325s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 325s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 31%] 325s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 31%] 325s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 31%] 325s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 31%] 325s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 31%] 325s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 31%] 325s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 31%] 325s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 31%] 325s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 31%] 325s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 31%] 325s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 31%] 325s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 31%] 325s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 31%] 325s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 325s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_long PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 32%] 325s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_numbers PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_options PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_printf PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 32%] 325s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 325s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 325s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 33%] 325s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_functions PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_emails PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_urls PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_credits PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_gconf PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_validxml PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 33%] 325s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 325s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 325s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 325s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 325s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 325s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 325s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 325s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 325s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 325s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 325s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 325s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 34%] 325s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 35%] 325s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 325s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 325s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 325s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 325s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 325s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 325s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 325s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 325s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 325s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 325s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 325s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 325s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 325s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 325s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 325s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 325s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 325s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 325s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 325s tests/translate/lang/test_common.py::test_alter_length PASSED [ 36%] 325s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 36%] 325s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 36%] 325s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 36%] 325s tests/translate/lang/test_el.py::test_sentences PASSED [ 36%] 325s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 36%] 325s tests/translate/lang/test_es.py::test_sentences PASSED [ 36%] 325s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 36%] 325s tests/translate/lang/test_fa.py::test_sentences PASSED [ 36%] 325s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 36%] 325s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 36%] 325s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 36%] 325s tests/translate/lang/test_fr.py::test_sentences PASSED [ 36%] 325s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 36%] 325s tests/translate/lang/test_hy.py::test_sentences PASSED [ 36%] 325s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 325s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 325s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 325s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 325s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 325s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 325s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 325s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 325s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 325s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 325s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 325s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 325s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 325s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 325s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 325s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 325s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 325s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 325s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 325s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 37%] 325s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 37%] 325s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 37%] 325s tests/translate/lang/test_team.py::test_simple PASSED [ 37%] 325s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 37%] 325s tests/translate/lang/test_th.py::test_sentences PASSED [ 37%] 325s tests/translate/lang/test_tr.py::test_sentences PASSED [ 37%] 325s tests/translate/lang/test_uk.py::test_sentences PASSED [ 37%] 325s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 37%] 325s tests/translate/lang/test_vi.py::test_sentences PASSED [ 37%] 325s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 37%] 325s tests/translate/lang/test_zh.py::test_sentences PASSED [ 37%] 325s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 37%] 325s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 37%] 325s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 37%] 325s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 326s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 38%] 326s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 326s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 326s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 326s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 326s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 326s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 326s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 326s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 326s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 326s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 326s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 326s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 326s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 326s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 326s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 326s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 326s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 326s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 38%] 326s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 38%] 326s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 38%] 326s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 38%] 326s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 38%] 326s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 38%] 326s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 38%] 326s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 38%] 326s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 38%] 326s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 38%] 326s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 38%] 326s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 38%] 326s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 38%] 326s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 38%] 326s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 38%] 326s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 326s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 326s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 326s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 326s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 326s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 326s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 326s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 326s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 326s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 326s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 39%] 326s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 326s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 326s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 326s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 326s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 326s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 326s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 326s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 326s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 326s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 326s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 326s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 326s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 326s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 326s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 326s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 326s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 326s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 326s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 40%] 326s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 40%] 326s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 40%] 326s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 40%] 326s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 40%] 326s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 40%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 42%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 44%] 326s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 326s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 326s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 326s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 326s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 326s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 326s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 326s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 326s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 326s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 326s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 326s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 326s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 326s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 326s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 326s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 326s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 326s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 326s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 326s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 326s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 326s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 326s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 45%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 45%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 45%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 45%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 45%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 45%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 326s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 326s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 326s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 326s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 326s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 326s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 326s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 326s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 326s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 326s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 46%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 46%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 46%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 46%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 46%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 46%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 326s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding_save PASSED [ 47%] 326s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 326s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 326s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 326s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 326s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 326s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 326s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 326s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 326s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 326s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 326s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 326s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 326s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 326s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 326s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 47%] 326s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 47%] 326s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 47%] 326s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 47%] 326s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 47%] 326s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 47%] 326s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 48%] 326s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 326s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 326s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 326s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 326s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 326s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 326s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 326s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 326s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 326s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 326s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 326s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 326s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 326s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 326s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 326s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 326s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 326s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 326s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 326s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 326s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 326s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 326s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 326s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 326s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 326s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 326s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 326s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 49%] 326s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 49%] 326s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 49%] 326s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 49%] 326s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 49%] 326s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 49%] 326s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 326s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 326s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 326s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 326s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 326s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 326s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 326s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 326s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 326s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 326s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 326s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 326s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 326s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 326s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 326s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 326s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 326s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 326s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 326s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 326s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 326s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 326s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 326s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 326s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 326s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 326s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 326s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 326s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 326s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 326s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 326s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 326s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 326s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 326s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 51%] 326s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 51%] 326s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 51%] 326s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 51%] 326s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 326s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 326s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 326s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 326s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_comments PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 54%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 56%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 57%] 326s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 326s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 326s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 326s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 326s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 326s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 326s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 58%] 326s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_invalid_nesting PASSED [ 58%] 326s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 326s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 326s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 326s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 326s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 326s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 326s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 326s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 326s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 326s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 326s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 326s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 326s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 326s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 58%] 326s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_invalid PASSED [ 58%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 58%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 58%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 58%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 58%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 59%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 326s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 327s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 327s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 327s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 327s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 327s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 327s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 327s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 327s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 327s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 327s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 327s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 327s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 327s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 327s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 327s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 59%] 327s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 59%] 327s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 59%] 327s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 59%] 327s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 59%] 327s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 327s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 327s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 327s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 327s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 327s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 327s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 327s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 327s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 327s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 327s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 327s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 327s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 327s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 327s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 327s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 327s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 327s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 60%] 327s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 327s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 327s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 327s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 327s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 327s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 327s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 327s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 327s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 327s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 327s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 327s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 60%] 327s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 60%] 327s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 60%] 327s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 60%] 327s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 60%] 327s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 327s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 327s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 327s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 327s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 327s 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%] 327s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 61%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 327s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 327s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 327s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 327s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 327s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 327s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 327s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 62%] 327s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 62%] 327s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 62%] 327s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 62%] 327s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 62%] 327s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 62%] 327s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 327s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 327s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 327s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 327s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 327s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 327s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 327s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 327s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 327s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 327s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 327s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 327s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 327s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 327s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 327s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 327s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 327s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 327s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 327s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 327s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 327s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 327s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 327s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 327s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 327s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 327s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 327s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 327s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 63%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 63%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 63%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 63%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 63%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 63%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 64%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 65%] 327s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 327s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 327s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 327s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 327s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 327s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 327s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 327s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 327s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 327s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 327s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 327s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 327s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 327s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 327s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 327s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 327s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 327s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 327s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 327s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 327s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 327s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 327s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 327s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 327s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 327s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 327s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 327s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 327s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 66%] 327s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 66%] 327s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 66%] 327s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 66%] 327s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 66%] 327s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 66%] 327s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 67%] 327s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 68%] 327s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 327s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 327s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 327s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 327s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 327s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 327s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 327s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 327s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 327s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 327s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 327s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 327s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 69%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 69%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 69%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 69%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 69%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 69%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 69%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 327s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 328s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 70%] 328s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 70%] 328s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 70%] 328s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 70%] 328s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 70%] 328s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 70%] 328s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 328s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 328s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 328s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 328s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 328s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 328s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 328s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 328s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 328s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 71%] 328s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 72%] 328s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 73%] 328s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 74%] 328s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 328s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 328s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 328s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 328s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 328s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 328s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 328s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 328s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 328s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 328s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 328s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 328s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 328s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 328s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 328s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 75%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 75%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 75%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 75%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 75%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 75%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 75%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 75%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 76%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 77%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 78%] 328s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 78%] 328s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 78%] 328s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 78%] 328s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 78%] 328s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 328s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 328s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 328s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 328s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 328s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 328s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 328s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 328s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 328s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 328s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 328s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 328s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 328s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 328s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 328s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 328s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 328s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 328s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 328s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 328s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 328s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 328s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 328s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 328s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 328s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 328s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 79%] 328s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 79%] 328s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 79%] 328s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 79%] 328s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 79%] 328s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 79%] 328s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 79%] 328s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 79%] 328s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 328s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 328s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 328s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 328s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 328s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 328s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 328s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 328s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 328s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 328s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 328s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 328s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 328s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 328s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 328s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 328s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 328s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 328s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 328s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 328s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 328s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 328s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 328s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 328s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 328s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 328s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 80%] 328s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 80%] 328s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 80%] 328s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 80%] 328s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 80%] 328s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 80%] 328s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 80%] 328s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 80%] 328s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 328s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 328s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 328s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 328s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 328s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 328s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 328s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 328s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 328s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 328s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 328s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 328s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 328s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 328s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 328s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 328s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 328s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 328s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 328s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 328s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 328s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 328s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 328s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 328s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 328s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 81%] 328s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 81%] 328s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 81%] 328s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 81%] 328s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 81%] 328s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 81%] 328s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 81%] 328s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 81%] 328s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 81%] 328s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 328s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 328s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 328s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 328s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 328s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 328s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 328s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 328s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 328s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 328s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 328s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 328s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 328s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 328s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 328s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 328s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 82%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 82%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 82%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 82%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 82%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 82%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 82%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 82%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 328s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 328s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 328s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 328s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 83%] 328s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 83%] 328s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 83%] 328s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 83%] 328s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 83%] 328s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 83%] 328s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 83%] 328s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 83%] 328s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 83%] 328s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 83%] 328s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_ordering PASSED [ 83%] 328s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create_blank PASSED [ 83%] 328s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_add PASSED [ 83%] 328s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_remove PASSED [ 83%] 328s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_find PASSED [ 83%] 328s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_parse PASSED [ 83%] 328s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_files PASSED [ 83%] 328s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_save PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_extensions PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_mimetypes PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_translate PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_markup PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_nonascii PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_ordering PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 84%] 328s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_ordering PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_ordering PASSED [ 84%] 328s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 85%] 328s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 85%] 328s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 85%] 328s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 328s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 328s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 328s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 328s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 328s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 328s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 328s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 328s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 328s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_ordering PASSED [ 85%] 328s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 328s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 328s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 328s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 328s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 328s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 328s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 328s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 328s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 328s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 328s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 328s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 328s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 328s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 328s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 328s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 328s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 328s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 328s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 328s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 328s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 328s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 86%] 328s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 86%] 328s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 86%] 328s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 86%] 328s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 328s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 328s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 328s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 328s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 328s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 328s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 328s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 328s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 328s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 328s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 328s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 328s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 328s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 328s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 328s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 328s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 328s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 328s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 328s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 328s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 328s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 328s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 328s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 328s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 328s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 328s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 328s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 328s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 328s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 328s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 87%] 328s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 87%] 328s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 87%] 328s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 328s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 328s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 328s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 328s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 328s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 328s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 328s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 328s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 328s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 328s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 328s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 328s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 328s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 328s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 328s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 328s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 328s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 328s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 328s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 328s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 328s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 328s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 88%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 88%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 88%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 328s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 328s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 328s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 328s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 328s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 328s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 328s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 328s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 328s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 328s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 328s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 328s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 328s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 328s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 328s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 89%] 328s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 89%] 328s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 89%] 328s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 328s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 328s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 328s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 328s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 328s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 328s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 328s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 328s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 328s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 328s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 328s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 328s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 328s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 328s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 328s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 328s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 328s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 328s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 328s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 328s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 328s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 328s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 328s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 328s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 328s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 328s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 328s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 328s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 328s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 328s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 328s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 328s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 328s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 328s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 328s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 328s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 328s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 328s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 328s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 328s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 328s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 328s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 91%] 328s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 91%] 328s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 328s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 328s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 328s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 328s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 328s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 328s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 328s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 328s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 328s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 328s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 328s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 328s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 328s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 328s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 328s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 328s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 328s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 328s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 328s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 329s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 329s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 329s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 329s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 329s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 329s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 329s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 329s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 329s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 329s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 329s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 329s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 329s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 92%] 329s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 329s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 329s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 329s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 329s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 329s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 92%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 93%] 329s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 329s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 329s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 329s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 329s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 329s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 329s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 329s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 329s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 329s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 329s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 329s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 329s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_blank PASSED [ 94%] 329s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_partial PASSED [ 94%] 329s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 329s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 329s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 329s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 329s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 329s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 329s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 329s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 329s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 329s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 329s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 329s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 329s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 329s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 329s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 329s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 329s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 329s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 330s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 330s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 95%] 330s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 95%] 330s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 95%] 330s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 330s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 330s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 330s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 330s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 330s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 330s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 330s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 330s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 330s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 330s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 330s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 330s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 330s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 330s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 330s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 330s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 330s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 330s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 330s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 330s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 330s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 330s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 330s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 330s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 330s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 330s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 330s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 330s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 330s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 330s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 330s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 96%] 330s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 330s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 330s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 330s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 330s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 330s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 330s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 330s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 330s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 330s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 330s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 330s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 330s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 330s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 330s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 330s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 330s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 330s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 330s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 330s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 330s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 330s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 330s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 330s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 330s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 330s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 330s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 330s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 330s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 330s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 330s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 330s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 330s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 330s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 330s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 330s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 330s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 330s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 330s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 330s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 330s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 330s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 330s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 330s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 330s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 331s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 331s 331s =============================== warnings summary =============================== 331s tests/translate/storage/test_cpo.py:15 331s Warning: 331s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 331s ImportError('gettext PO library not found') 331s In pytest 9.1 this warning will become an error by default. 331s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 331s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 331s 331s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 331s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.4TvmSg/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 331s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 331s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 331s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 331s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 331s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 331s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 331s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 331s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 331s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 331s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 331s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 331s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 331s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 331s Warning: Could not find accesskey for key.accesskey 331s 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 331s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 331s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 331s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.4TvmSg/autopkgtest_tmp/tests/translate/convert/test.idml'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 331s Warning: unclosed file <_io.BufferedReader name='translation.po'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 331s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 331s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 331s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 331s Warning: Could not find accesskey for prop.accesskey 331s 331s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 331s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 331s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 331s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 331s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 331s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 331s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 331s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 331s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 331s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 331s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 331s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.4TvmSg/autopkgtest_tmp/tests/translate/convert/test.odt'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 331s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 331s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 331s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 331s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 331s Enable tracemalloc to get traceback where the object was allocated. 331s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 331s 331s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 331s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 331s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 331s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 331s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 331s 331s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 331s Warning: DTD parse error: :1:35:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 331s 331s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 331s Warning: DTD file '' does not validate 331s 331s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 331s --------------------------- snapshot report summary ---------------------------- 331s 23 snapshots passed. 331s =========================== short test summary info ============================ 331s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 331s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 331s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 331s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 331s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 331s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 331s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 331s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 331s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 331s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 331s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 331s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 331s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 331s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 331s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 331s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 331s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 331s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 331s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 331s 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. 331s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 331s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 331s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 331s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 331s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 331s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 331s 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 331s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 331s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 331s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 331s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 331s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 331s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 331s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 331s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 331s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 331s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 331s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 331s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 331s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 331s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 331s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 331s ========== 3343 passed, 3 skipped, 39 xfailed, 50 warnings in 11.59s =========== 331s autopkgtest [06:09:38]: test python3-translate-commands: -----------------------] 332s autopkgtest [06:09:39]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 332s python3-translate-commands PASS 332s autopkgtest [06:09:39]: @@@@@@@@@@@@@@@@@@@@ summary 332s translate-toolkit PASS 332s python3-translate PASS 332s python3-translate-commands PASS