0s autopkgtest [08:29:55]: starting date and time: 2025-10-28 08:29:55+0000 0s autopkgtest [08:29:55]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [08:29:55]: host juju-7f2275-prod-proposed-migration-environment-15; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.vahqyktd/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-cpu2-ram4-disk20-amd64 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-15@sto01-9.secgroup --name adt-resolute-amd64-translate-toolkit-20251028-082955-juju-7f2275-prod-proposed-migration-environment-15-3acc1fb2-c3df-4e2c-88ba-5df99294029f --image adt/ubuntu-resolute-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-15 --net-id=net_prod-autopkgtest-workers-amd64 -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 4s Creating nova instance adt-resolute-amd64-translate-toolkit-20251028-082955-juju-7f2275-prod-proposed-migration-environment-15-3acc1fb2-c3df-4e2c-88ba-5df99294029f from image adt/ubuntu-resolute-amd64-server-20251028.img (UUID 28aec2b7-3bf0-42f3-9f6e-cd514d583c29)... 38s autopkgtest [08:30:33]: testbed dpkg architecture: amd64 38s autopkgtest [08:30:33]: testbed apt version: 3.1.8ubuntu1 38s autopkgtest [08:30:33]: @@@@@@@@@@@@@@@@@@@@ test bed setup 38s autopkgtest [08:30:33]: testbed release detected to be: None 39s autopkgtest [08:30:34]: updating testbed package index (apt update) 41s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 41s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 41s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 41s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 41s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [61.7 kB] 41s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [3342 kB] 41s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [216 kB] 41s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5856 B] 41s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 Packages [269 kB] 41s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main i386 Packages [171 kB] 41s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 c-n-f Metadata [2540 B] 41s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/restricted i386 Packages [4212 B] 41s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 Packages [28.6 kB] 41s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 c-n-f Metadata [336 B] 41s Get:15 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 Packages [1098 kB] 41s Get:16 http://ftpmaster.internal/ubuntu resolute-proposed/universe i386 Packages [530 kB] 41s Get:17 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 c-n-f Metadata [10.1 kB] 41s Get:18 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 Packages [7452 B] 41s Get:19 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse i386 Packages [3832 B] 41s Get:20 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 c-n-f Metadata [492 B] 41s Fetched 5837 kB in 1s (6384 kB/s) 42s Reading package lists... 43s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 43s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 43s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 43s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 44s Reading package lists... 44s Reading package lists... 44s Building dependency tree... 44s Reading state information... 44s Calculating upgrade... 44s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 44s autopkgtest [08:30:39]: upgrading testbed (apt dist-upgrade and autopurge) 44s Reading package lists... 45s Building dependency tree... 45s Reading state information... 45s Calculating upgrade... 45s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 45s Reading package lists... 45s Building dependency tree... 45s Reading state information... 45s Solving dependencies... 45s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 48s autopkgtest [08:30:43]: testbed running kernel: Linux 6.17.0-5-generic #5-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 22 10:00:33 UTC 2025 48s autopkgtest [08:30:43]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 53s Get:1 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.15.1-1 (dsc) [3193 B] 53s Get:2 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.15.1-1 (tar) [1170 kB] 53s Get:3 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.15.1-1 (diff) [24.9 kB] 53s gpgv: Signature made Fri Mar 14 13:03:50 2025 UTC 53s gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 53s gpgv: Can't check signature: No public key 53s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.15.1-1.dsc: no acceptable signature found 53s autopkgtest [08:30:48]: testing package translate-toolkit version 3.15.1-1 53s autopkgtest [08:30:48]: build not needed 54s autopkgtest [08:30:49]: test translate-toolkit: preparing testbed 54s Reading package lists... 54s Building dependency tree... 54s Reading state information... 54s Solving dependencies... 54s The following NEW packages will be installed: 54s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 54s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 54s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 54s python3-aeidon python3-bs4 python3-charset-normalizer python3-cheroot 54s python3-cwcwidth python3-dateutil python3-diff-match-patch python3-enchant 54s python3-iniparse python3-levenshtein python3-lxml python3-mistletoe 54s python3-phply python3-ply python3-pycountry python3-pytz python3-rapidfuzz 54s python3-ruamel.yaml python3-ruamel.yaml.clib python3-soupsieve 54s python3-translate python3-vobject python3-xapian subversion 54s translate-toolkit 55s 0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded. 55s Need to get 14.0 MB of archives. 55s After this operation, 74.5 MB of additional disk space will be used. 55s Get:1 http://ftpmaster.internal/ubuntu resolute/main amd64 emacsen-common all 3.0.8 [13.9 kB] 55s Get:2 http://ftpmaster.internal/ubuntu resolute/main amd64 dictionaries-common all 1.30.10 [178 kB] 55s Get:3 http://ftpmaster.internal/ubuntu resolute/main amd64 libgomp1 amd64 15.2.0-5ubuntu1 [151 kB] 55s Get:4 http://ftpmaster.internal/ubuntu resolute/main amd64 gettext amd64 0.23.1-2build2 [1043 kB] 55s Get:5 http://ftpmaster.internal/ubuntu resolute/main amd64 hunspell-en-us all 1:2020.12.07-4 [585 kB] 55s Get:6 http://ftpmaster.internal/ubuntu resolute/main amd64 libapr1t64 amd64 1.7.5-1 [116 kB] 55s Get:7 http://ftpmaster.internal/ubuntu resolute/main amd64 libaprutil1t64 amd64 1.6.3-3ubuntu2 [98.5 kB] 55s Get:8 http://ftpmaster.internal/ubuntu resolute/main amd64 libaspell15 amd64 0.60.8.1-4 [353 kB] 55s Get:9 http://ftpmaster.internal/ubuntu resolute/main amd64 libhunspell-1.7-0 amd64 1.7.2+really1.7.2-10build3 [294 kB] 55s Get:10 http://ftpmaster.internal/ubuntu resolute/main amd64 libenchant-2-2 amd64 2.8.2+dfsg1-3 [59.0 kB] 55s Get:11 http://ftpmaster.internal/ubuntu resolute/main amd64 libexttextcat-data all 3.4.7-1ubuntu1 [193 kB] 55s Get:12 http://ftpmaster.internal/ubuntu resolute/universe amd64 libserf-1-1 amd64 1.3.10-3ubuntu1 [48.2 kB] 55s Get:13 http://ftpmaster.internal/ubuntu resolute/universe amd64 libutf8proc3 amd64 2.10.0-2 [71.6 kB] 55s Get:14 http://ftpmaster.internal/ubuntu resolute/universe amd64 libsvn1 amd64 1.14.5-4 [1435 kB] 55s Get:15 http://ftpmaster.internal/ubuntu resolute/universe amd64 libxapian30 amd64 1.4.29-3 [740 kB] 55s Get:16 http://ftpmaster.internal/ubuntu resolute/main amd64 libxslt1.1 amd64 1.1.43-0.3 [172 kB] 55s Get:17 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-aeidon all 1.15-2 [231 kB] 55s Get:18 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-soupsieve all 2.7-2 [33.6 kB] 56s Get:19 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 python3-bs4 all 4.14.2-1 [82.8 kB] 56s Get:20 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-charset-normalizer amd64 3.4.2-1 [129 kB] 56s Get:21 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-cheroot all 10.0.1+ds1-4 [78.6 kB] 56s Get:22 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-cwcwidth amd64 0.1.10-1build2 [28.0 kB] 56s Get:23 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-dateutil all 2.9.0-4 [80.3 kB] 56s Get:24 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-diff-match-patch all 20241021-1 [33.6 kB] 56s Get:25 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-enchant all 3.3.0~rc1-1 [35.1 kB] 56s Get:26 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-rapidfuzz amd64 3.12.2+ds-1build1 [2746 kB] 56s Get:27 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-levenshtein amd64 0.27.1-2build1 [145 kB] 56s Get:28 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-lxml amd64 6.0.1-1build1 [2336 kB] 56s Get:29 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-mistletoe all 1.4.0-1 [38.2 kB] 56s Get:30 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-ply all 3.11-9 [45.8 kB] 56s Get:31 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-phply all 1.2.6-1 [50.5 kB] 56s Get:32 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-pytz all 2025.2-4 [32.3 kB] 56s Get:33 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-ruamel.yaml.clib amd64 0.2.12+ds-1build1 [164 kB] 56s Get:34 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 56s Get:35 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-translate all 3.15.1-1 [319 kB] 56s Get:36 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-vobject all 0.9.9+dfsg-1 [41.5 kB] 56s Get:37 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-xapian amd64 1.4.29-1build1 [588 kB] 57s Get:38 http://ftpmaster.internal/ubuntu resolute/universe amd64 subversion amd64 1.14.5-4 [906 kB] 57s Get:39 http://ftpmaster.internal/ubuntu resolute/universe amd64 translate-toolkit all 3.15.1-1 [81.0 kB] 57s Get:40 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-iniparse all 0.5.1-1 [21.2 kB] 57s Get:41 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 57s Preconfiguring packages ... 57s Fetched 14.0 MB in 2s (5874 kB/s) 57s Selecting previously unselected package emacsen-common. 57s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 78529 files and directories currently installed.) 57s Preparing to unpack .../00-emacsen-common_3.0.8_all.deb ... 57s Unpacking emacsen-common (3.0.8) ... 57s Selecting previously unselected package dictionaries-common. 57s Preparing to unpack .../01-dictionaries-common_1.30.10_all.deb ... 58s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 58s Unpacking dictionaries-common (1.30.10) ... 58s Selecting previously unselected package libgomp1:amd64. 58s Preparing to unpack .../02-libgomp1_15.2.0-5ubuntu1_amd64.deb ... 58s Unpacking libgomp1:amd64 (15.2.0-5ubuntu1) ... 58s Selecting previously unselected package gettext. 58s Preparing to unpack .../03-gettext_0.23.1-2build2_amd64.deb ... 58s Unpacking gettext (0.23.1-2build2) ... 58s Selecting previously unselected package hunspell-en-us. 58s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-4_all.deb ... 58s Unpacking hunspell-en-us (1:2020.12.07-4) ... 58s Selecting previously unselected package libapr1t64:amd64. 58s Preparing to unpack .../05-libapr1t64_1.7.5-1_amd64.deb ... 58s Unpacking libapr1t64:amd64 (1.7.5-1) ... 58s Selecting previously unselected package libaprutil1t64:amd64. 58s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu2_amd64.deb ... 58s Unpacking libaprutil1t64:amd64 (1.6.3-3ubuntu2) ... 58s Selecting previously unselected package libaspell15:amd64. 58s Preparing to unpack .../07-libaspell15_0.60.8.1-4_amd64.deb ... 58s Unpacking libaspell15:amd64 (0.60.8.1-4) ... 58s Selecting previously unselected package libhunspell-1.7-0:amd64. 58s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_amd64.deb ... 58s Unpacking libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 58s Selecting previously unselected package libenchant-2-2:amd64. 58s Preparing to unpack .../09-libenchant-2-2_2.8.2+dfsg1-3_amd64.deb ... 58s Unpacking libenchant-2-2:amd64 (2.8.2+dfsg1-3) ... 58s Selecting previously unselected package libexttextcat-data. 58s Preparing to unpack .../10-libexttextcat-data_3.4.7-1ubuntu1_all.deb ... 58s Unpacking libexttextcat-data (3.4.7-1ubuntu1) ... 58s Selecting previously unselected package libserf-1-1:amd64. 58s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_amd64.deb ... 58s Unpacking libserf-1-1:amd64 (1.3.10-3ubuntu1) ... 58s Selecting previously unselected package libutf8proc3:amd64. 58s Preparing to unpack .../12-libutf8proc3_2.10.0-2_amd64.deb ... 58s Unpacking libutf8proc3:amd64 (2.10.0-2) ... 58s Selecting previously unselected package libsvn1:amd64. 58s Preparing to unpack .../13-libsvn1_1.14.5-4_amd64.deb ... 58s Unpacking libsvn1:amd64 (1.14.5-4) ... 58s Selecting previously unselected package libxapian30:amd64. 58s Preparing to unpack .../14-libxapian30_1.4.29-3_amd64.deb ... 58s Unpacking libxapian30:amd64 (1.4.29-3) ... 58s Selecting previously unselected package libxslt1.1:amd64. 58s Preparing to unpack .../15-libxslt1.1_1.1.43-0.3_amd64.deb ... 58s Unpacking libxslt1.1:amd64 (1.1.43-0.3) ... 58s Selecting previously unselected package python3-aeidon. 58s Preparing to unpack .../16-python3-aeidon_1.15-2_all.deb ... 58s Unpacking python3-aeidon (1.15-2) ... 58s Selecting previously unselected package python3-soupsieve. 58s Preparing to unpack .../17-python3-soupsieve_2.7-2_all.deb ... 58s Unpacking python3-soupsieve (2.7-2) ... 58s Selecting previously unselected package python3-bs4. 58s Preparing to unpack .../18-python3-bs4_4.14.2-1_all.deb ... 58s Unpacking python3-bs4 (4.14.2-1) ... 58s Selecting previously unselected package python3-charset-normalizer. 58s Preparing to unpack .../19-python3-charset-normalizer_3.4.2-1_amd64.deb ... 58s Unpacking python3-charset-normalizer (3.4.2-1) ... 58s Selecting previously unselected package python3-cheroot. 58s Preparing to unpack .../20-python3-cheroot_10.0.1+ds1-4_all.deb ... 58s Unpacking python3-cheroot (10.0.1+ds1-4) ... 58s Selecting previously unselected package python3-cwcwidth. 58s Preparing to unpack .../21-python3-cwcwidth_0.1.10-1build2_amd64.deb ... 58s Unpacking python3-cwcwidth (0.1.10-1build2) ... 58s Selecting previously unselected package python3-dateutil. 58s Preparing to unpack .../22-python3-dateutil_2.9.0-4_all.deb ... 58s Unpacking python3-dateutil (2.9.0-4) ... 58s Selecting previously unselected package python3-diff-match-patch. 58s Preparing to unpack .../23-python3-diff-match-patch_20241021-1_all.deb ... 58s Unpacking python3-diff-match-patch (20241021-1) ... 58s Selecting previously unselected package python3-enchant. 58s Preparing to unpack .../24-python3-enchant_3.3.0~rc1-1_all.deb ... 58s Unpacking python3-enchant (3.3.0~rc1-1) ... 58s Selecting previously unselected package python3-rapidfuzz. 58s Preparing to unpack .../25-python3-rapidfuzz_3.12.2+ds-1build1_amd64.deb ... 58s Unpacking python3-rapidfuzz (3.12.2+ds-1build1) ... 58s Selecting previously unselected package python3-levenshtein. 58s Preparing to unpack .../26-python3-levenshtein_0.27.1-2build1_amd64.deb ... 58s Unpacking python3-levenshtein (0.27.1-2build1) ... 58s Selecting previously unselected package python3-lxml:amd64. 58s Preparing to unpack .../27-python3-lxml_6.0.1-1build1_amd64.deb ... 58s Unpacking python3-lxml:amd64 (6.0.1-1build1) ... 58s Selecting previously unselected package python3-mistletoe. 58s Preparing to unpack .../28-python3-mistletoe_1.4.0-1_all.deb ... 58s Unpacking python3-mistletoe (1.4.0-1) ... 58s Selecting previously unselected package python3-ply. 58s Preparing to unpack .../29-python3-ply_3.11-9_all.deb ... 58s Unpacking python3-ply (3.11-9) ... 58s Selecting previously unselected package python3-phply. 58s Preparing to unpack .../30-python3-phply_1.2.6-1_all.deb ... 58s Unpacking python3-phply (1.2.6-1) ... 58s Selecting previously unselected package python3-pytz. 58s Preparing to unpack .../31-python3-pytz_2025.2-4_all.deb ... 58s Unpacking python3-pytz (2025.2-4) ... 58s Selecting previously unselected package python3-ruamel.yaml.clib. 59s Preparing to unpack .../32-python3-ruamel.yaml.clib_0.2.12+ds-1build1_amd64.deb ... 59s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 59s Selecting previously unselected package python3-ruamel.yaml. 59s Preparing to unpack .../33-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 59s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 59s Selecting previously unselected package python3-translate. 59s Preparing to unpack .../34-python3-translate_3.15.1-1_all.deb ... 59s Unpacking python3-translate (3.15.1-1) ... 59s Selecting previously unselected package python3-vobject. 59s Preparing to unpack .../35-python3-vobject_0.9.9+dfsg-1_all.deb ... 59s Unpacking python3-vobject (0.9.9+dfsg-1) ... 59s Selecting previously unselected package python3-xapian. 59s Preparing to unpack .../36-python3-xapian_1.4.29-1build1_amd64.deb ... 59s Unpacking python3-xapian (1.4.29-1build1) ... 59s Selecting previously unselected package subversion. 59s Preparing to unpack .../37-subversion_1.14.5-4_amd64.deb ... 59s Unpacking subversion (1.14.5-4) ... 59s Selecting previously unselected package translate-toolkit. 59s Preparing to unpack .../38-translate-toolkit_3.15.1-1_all.deb ... 59s Unpacking translate-toolkit (3.15.1-1) ... 59s Selecting previously unselected package python3-iniparse. 59s Preparing to unpack .../39-python3-iniparse_0.5.1-1_all.deb ... 59s Unpacking python3-iniparse (0.5.1-1) ... 59s Selecting previously unselected package python3-pycountry. 59s Preparing to unpack .../40-python3-pycountry_24.6.1+ds1-1_all.deb ... 59s Unpacking python3-pycountry (24.6.1+ds1-1) ... 59s Setting up libxapian30:amd64 (1.4.29-3) ... 59s Setting up python3-rapidfuzz (3.12.2+ds-1build1) ... 59s Setting up python3-diff-match-patch (20241021-1) ... 59s Setting up python3-aeidon (1.15-2) ... 59s Setting up libutf8proc3:amd64 (2.10.0-2) ... 59s Setting up libaspell15:amd64 (0.60.8.1-4) ... 59s Setting up python3-charset-normalizer (3.4.2-1) ... 60s Setting up python3-ply (3.11-9) ... 60s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 60s Setting up python3-pytz (2025.2-4) ... 60s Setting up libgomp1:amd64 (15.2.0-5ubuntu1) ... 60s Setting up emacsen-common (3.0.8) ... 60s Setting up python3-cheroot (10.0.1+ds1-4) ... 60s Setting up python3-pycountry (24.6.1+ds1-1) ... 60s Setting up python3-xapian (1.4.29-1build1) ... 60s Setting up python3-cwcwidth (0.1.10-1build2) ... 60s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 61s Setting up python3-mistletoe (1.4.0-1) ... 61s Setting up libexttextcat-data (3.4.7-1ubuntu1) ... 61s Setting up libapr1t64:amd64 (1.7.5-1) ... 61s Setting up libxslt1.1:amd64 (1.1.43-0.3) ... 61s Setting up python3-dateutil (2.9.0-4) ... 61s Setting up python3-levenshtein (0.27.1-2build1) ... 61s Setting up libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 61s Setting up python3-soupsieve (2.7-2) ... 61s Setting up python3-iniparse (0.5.1-1) ... 61s Setting up libaprutil1t64:amd64 (1.6.3-3ubuntu2) ... 61s Setting up python3-vobject (0.9.9+dfsg-1) ... 62s Setting up gettext (0.23.1-2build2) ... 62s Setting up python3-phply (1.2.6-1) ... 62s Setting up dictionaries-common (1.30.10) ... 62s Setting up libserf-1-1:amd64 (1.3.10-3ubuntu1) ... 62s Setting up python3-bs4 (4.14.2-1) ... 62s Setting up python3-lxml:amd64 (6.0.1-1build1) ... 63s Setting up hunspell-en-us (1:2020.12.07-4) ... 63s Setting up libsvn1:amd64 (1.14.5-4) ... 63s Setting up libenchant-2-2:amd64 (2.8.2+dfsg1-3) ... 63s Setting up subversion (1.14.5-4) ... 63s Setting up python3-enchant (3.3.0~rc1-1) ... 63s Setting up python3-translate (3.15.1-1) ... 63s Setting up translate-toolkit (3.15.1-1) ... 63s Processing triggers for libc-bin (2.42-0ubuntu3) ... 63s Processing triggers for man-db (2.13.1-1) ... 64s Processing triggers for install-info (7.1.1-1ubuntu1) ... 65s Processing triggers for dictionaries-common (1.30.10) ... 66s autopkgtest [08:31:01]: test translate-toolkit: [----------------------- 66s ========= SMOKE TEST: /usr/bin/android2po =========== 66s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 66s 66s Convert Android string files to Gettext PO localization files. See: 66s http://docs.translatehouse.org/projects/translate- 66s toolkit/en/latest/commands/android2po.html for examples and usage 66s instructions. 66s 66s Options: 66s --version show program's version number and exit 66s -h, --help show this help message and exit 66s --manpage output a manpage based on the help 66s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 66s --errorlevel=ERRORLEVEL 66s show errorlevel as: none, message, exception, 66s traceback 66s -i INPUT, --input=INPUT 66s read from INPUT in xml format 66s -x EXCLUDE, --exclude=EXCLUDE 66s exclude names matching EXCLUDE from input paths 66s -o OUTPUT, --output=OUTPUT 66s write to OUTPUT in po, pot formats 66s -t TEMPLATE, --template=TEMPLATE 66s read from TEMPLATE in xml format 66s -S, --timestamp skip conversion if the output file has newer timestamp 66s --duplicates=DUPLICATESTYLE 66s what to do with duplicate strings (identical source 66s text): merge, msgctxt (default: 'msgctxt') 66s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 66s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 66s input files [input files ...] 66s 66s positional arguments: 66s input files 66s 66s options: 66s -h, --help show this help message and exit 66s -d, --tmdb TMDB_FILE translation memory database file (default: tm.db) 66s -s, --import-source-lang SOURCE_LANG 66s source language of translation files (default: en) 66s -t, --import-target-lang TARGET_LANG 66s target language of translation files 66s ========= SMOKE TEST: /usr/bin/csv2po =========== 66s 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] 66s 66s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 66s See: http://docs.translatehouse.org/projects/translate- 66s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 66s 66s Options: 66s --version show program's version number and exit 66s -h, --help show this help message and exit 66s --manpage output a manpage based on the help 66s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 66s --errorlevel=ERRORLEVEL 66s show errorlevel as: none, message, exception, 66s traceback 66s -i INPUT, --input=INPUT 66s read from INPUT in csv format 66s -x EXCLUDE, --exclude=EXCLUDE 66s exclude names matching EXCLUDE from input paths 66s -o OUTPUT, --output=OUTPUT 66s write to OUTPUT in po, pot formats 66s -t TEMPLATE, --template=TEMPLATE 66s read from TEMPLATE in po, pot, pot formats 66s -S, --timestamp skip conversion if the output file has newer timestamp 66s -P, --pot output PO Templates (.pot) rather than PO files (.po) 66s --charset=CHARSET set charset to decode from csv files 66s --columnorder=COLUMNORDER 66s specify the order and position of columns 66s (location,source,target,context) 66s --duplicates=DUPLICATESTYLE 66s what to do with duplicate strings (identical source 66s text): merge, msgctxt (default: 'msgctxt') 66s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 66s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 66s 66s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 66s glossary file. See: http://docs.translatehouse.org/projects/translate- 66s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 66s 66s Options: 66s --version show program's version number and exit 66s -h, --help show this help message and exit 66s --manpage output a manpage based on the help 66s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 66s --errorlevel=ERRORLEVEL 66s show errorlevel as: none, message, exception, 66s traceback 66s -i INPUT, --input=INPUT 66s read from INPUT in csv format 66s -x EXCLUDE, --exclude=EXCLUDE 66s exclude names matching EXCLUDE from input paths 66s -o OUTPUT, --output=OUTPUT 66s write to OUTPUT in tbx format 66s -S, --timestamp skip conversion if the output file has newer timestamp 66s --charset=CHARSET set charset to decode from csv files 66s --columnorder=COLUMNORDER 66s specify the order and position of columns 66s (comment,source,target) 67s ========= SMOKE TEST: /usr/bin/dtd2po =========== 67s 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] 67s 67s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 67s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 67s this module You can convert back to .dtd using po2dtd.py. 67s 67s Options: 67s --version show program's version number and exit 67s -h, --help show this help message and exit 67s --manpage output a manpage based on the help 67s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 67s --errorlevel=ERRORLEVEL 67s show errorlevel as: none, message, exception, 67s traceback 67s -i INPUT, --input=INPUT 67s read from INPUT in dtd format 67s -x EXCLUDE, --exclude=EXCLUDE 67s exclude names matching EXCLUDE from input paths 67s -o OUTPUT, --output=OUTPUT 67s write to OUTPUT in po, pot formats 67s -t TEMPLATE, --template=TEMPLATE 67s read from TEMPLATE in dtd format 67s -S, --timestamp skip conversion if the output file has newer timestamp 67s -P, --pot output PO Templates (.pot) rather than PO files (.po) 67s --duplicates=DUPLICATESTYLE 67s what to do with duplicate strings (identical source 67s text): merge, msgctxt (default: 'msgctxt') 67s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 67s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 67s 67s Convert flat XML files to Gettext PO localization files. See: 67s http://docs.translatehouse.org/projects/translate- 67s toolkit/en/latest/commands/flatxml2po.html for examples and usage 67s instructions. 67s 67s Options: 67s --version show program's version number and exit 67s -h, --help show this help message and exit 67s --manpage output a manpage based on the help 67s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 67s --errorlevel=ERRORLEVEL 67s show errorlevel as: none, message, exception, 67s traceback 67s -i INPUT, --input=INPUT 67s read from INPUT in xml format 67s -x EXCLUDE, --exclude=EXCLUDE 67s exclude names matching EXCLUDE from input paths 67s -o OUTPUT, --output=OUTPUT 67s write to OUTPUT in po, pot formats 67s -S, --timestamp skip conversion if the output file has newer timestamp 67s -r ROOT, --root=ROOT name of the XML root element (default: "root") 67s -v VALUE, --value=VALUE 67s name of the XML value element (default: "str") 67s -k KEY, --key=KEY name of the XML key attribute (default: "key") 67s -n NS, --namespace=NS 67s XML namespace uri (default: None) 67s ========= SMOKE TEST: /usr/bin/html2po =========== 67s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 67s 67s Convert HTML files to Gettext PO localization files. See: 67s http://docs.translatehouse.org/projects/translate- 67s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 67s 67s Options: 67s --version show program's version number and exit 67s -h, --help show this help message and exit 67s --manpage output a manpage based on the help 67s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 67s --errorlevel=ERRORLEVEL 67s show errorlevel as: none, message, exception, 67s traceback 67s -i INPUT, --input=INPUT 67s read from INPUT in htm, html, xhtml formats 67s -x EXCLUDE, --exclude=EXCLUDE 67s exclude names matching EXCLUDE from input paths 67s -o OUTPUT, --output=OUTPUT 67s write to OUTPUT in po, pot formats 67s -S, --timestamp skip conversion if the output file has newer timestamp 67s -P, --pot output PO Templates (.pot) rather than PO files (.po) 67s --keepcomments preserve html comments as translation notes in the 67s output 67s --duplicates=DUPLICATESTYLE 67s what to do with duplicate strings (identical source 67s text): merge, msgctxt (default: 'msgctxt') 67s --multifile=MULTIFILESTYLE 67s how to split po/pot files (single, toplevel or 67s onefile) 67s ========= SMOKE TEST: /usr/bin/ical2po =========== 67s 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] 67s 67s Convert iCalendar files to Gettext PO localization files. See: 67s http://docs.translatehouse.org/projects/translate- 67s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 67s 67s Options: 67s --version show program's version number and exit 67s -h, --help show this help message and exit 67s --manpage output a manpage based on the help 67s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 67s --errorlevel=ERRORLEVEL 67s show errorlevel as: none, message, exception, 67s traceback 67s -i INPUT, --input=INPUT 67s read from INPUT in ics format 67s -x EXCLUDE, --exclude=EXCLUDE 67s exclude names matching EXCLUDE from input paths 67s -o OUTPUT, --output=OUTPUT 67s write to OUTPUT in po, pot formats 67s -t TEMPLATE, --template=TEMPLATE 67s read from TEMPLATE in ics format 67s -S, --timestamp skip conversion if the output file has newer timestamp 67s -P, --pot output PO Templates (.pot) rather than PO files (.po) 67s --duplicates=DUPLICATESTYLE 67s what to do with duplicate strings (identical source 67s text): merge, msgctxt (default: 'msgctxt') 67s ========= SMOKE TEST: /usr/bin/idml2po =========== 68s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 68s 68s Convert IDML files to PO localization files. 68s 68s Options: 68s --version show program's version number and exit 68s -h, --help show this help message and exit 68s --manpage output a manpage based on the help 68s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 68s --errorlevel=ERRORLEVEL 68s show errorlevel as: none, message, exception, 68s traceback 68s -i INPUT, --input=INPUT 68s read from INPUT in idml format 68s -x EXCLUDE, --exclude=EXCLUDE 68s exclude names matching EXCLUDE from input paths 68s -o OUTPUT, --output=OUTPUT 68s write to OUTPUT in po, pot formats 68s -S, --timestamp skip conversion if the output file has newer timestamp 68s ========= SMOKE TEST: /usr/bin/ini2po =========== 68s 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] 68s 68s Convert .ini files to Gettext PO localization files. See: 68s http://docs.translatehouse.org/projects/translate- 68s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 68s 68s Options: 68s --version show program's version number and exit 68s -h, --help show this help message and exit 68s --manpage output a manpage based on the help 68s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 68s --errorlevel=ERRORLEVEL 68s show errorlevel as: none, message, exception, 68s traceback 68s -i INPUT, --input=INPUT 68s read from INPUT in ini, isl, iss formats 68s -x EXCLUDE, --exclude=EXCLUDE 68s exclude names matching EXCLUDE from input paths 68s -o OUTPUT, --output=OUTPUT 68s write to OUTPUT in po, pot formats 68s -t TEMPLATE, --template=TEMPLATE 68s read from TEMPLATE in ini, isl, iss formats 68s -S, --timestamp skip conversion if the output file has newer timestamp 68s -P, --pot output PO Templates (.pot) rather than PO files (.po) 68s --duplicates=DUPLICATESTYLE 68s what to do with duplicate strings (identical source 68s text): merge, msgctxt (default: 'msgctxt') 68s ========= SMOKE TEST: /usr/bin/json2po =========== 68s 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] 68s 68s Convert JSON files to Gettext PO localization files. See: 68s http://docs.translatehouse.org/projects/translate- 68s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 68s 68s Options: 68s --version show program's version number and exit 68s -h, --help show this help message and exit 68s --manpage output a manpage based on the help 68s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 68s --errorlevel=ERRORLEVEL 68s show errorlevel as: none, message, exception, 68s traceback 68s -i INPUT, --input=INPUT 68s read from INPUT in json format 68s -x EXCLUDE, --exclude=EXCLUDE 68s exclude names matching EXCLUDE from input paths 68s -o OUTPUT, --output=OUTPUT 68s write to OUTPUT in po, pot formats 68s -t TEMPLATE, --template=TEMPLATE 68s read from TEMPLATE in json format 68s -S, --timestamp skip conversion if the output file has newer timestamp 68s -P, --pot output PO Templates (.pot) rather than PO files (.po) 68s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 68s everything) 68s --duplicates=DUPLICATESTYLE 68s what to do with duplicate strings (identical source 68s text): merge, msgctxt (default: 'msgctxt') 68s ========= SMOKE TEST: /usr/bin/md2po =========== 68s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 68s 68s Convert Markdown files to Gettext PO localization files. See: 68s http://docs.translatehouse.org/projects/translate- 68s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 68s 68s Options: 68s --version show program's version number and exit 68s -h, --help show this help message and exit 68s --manpage output a manpage based on the help 68s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 68s --errorlevel=ERRORLEVEL 68s show errorlevel as: none, message, exception, 68s traceback 68s -i INPUT, --input=INPUT 68s read from INPUT in markdown, md, text, txt formats 68s -x EXCLUDE, --exclude=EXCLUDE 68s exclude names matching EXCLUDE from input paths 68s -o OUTPUT, --output=OUTPUT 68s write to OUTPUT in po, pot formats 68s -S, --timestamp skip conversion if the output file has newer timestamp 68s -P, --pot output PO Templates (.pot) rather than PO files (.po) 68s --duplicates=DUPLICATESTYLE 68s what to do with duplicate strings (identical source 68s text): merge, msgctxt (default: 'msgctxt') 68s --multifile=MULTIFILESTYLE 68s how to split po/pot files (single, toplevel or 68s onefile) 69s ========= SMOKE TEST: /usr/bin/moz2po =========== 69s 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] 69s 69s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 69s See: http://docs.translatehouse.org/projects/translate- 69s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 69s 69s Options: 69s --version show program's version number and exit 69s -h, --help show this help message and exit 69s --manpage output a manpage based on the help 69s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 69s --errorlevel=ERRORLEVEL 69s show errorlevel as: none, message, exception, 69s traceback 69s -i INPUT, --input=INPUT 69s read from INPUT in *, dtd, inc, ini, it, js, lang, 69s manifest, properties, rdf formats 69s -x EXCLUDE, --exclude=EXCLUDE 69s exclude names matching EXCLUDE from input paths 69s -o OUTPUT, --output=OUTPUT 69s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 69s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 69s lang.pot, manifest, properties.po, properties.pot, rdf 69s formats 69s -t TEMPLATE, --template=TEMPLATE 69s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 69s manifest, properties, rdf formats 69s -S, --timestamp skip conversion if the output file has newer timestamp 69s -P, --pot output PO Templates (.pot) rather than PO files (.po) 69s --duplicates=DUPLICATESTYLE 69s what to do with duplicate strings (identical source 69s text): merge, msgctxt (default: 'msgctxt') 69s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 69s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 69s 69s Convert Mozilla .lang files to Gettext PO localization files. 69s 69s Options: 69s --version show program's version number and exit 69s -h, --help show this help message and exit 69s --manpage output a manpage based on the help 69s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 69s --errorlevel=ERRORLEVEL 69s show errorlevel as: none, message, exception, 69s traceback 69s -i INPUT, --input=INPUT 69s read from INPUT in lang format 69s -x EXCLUDE, --exclude=EXCLUDE 69s exclude names matching EXCLUDE from input paths 69s -o OUTPUT, --output=OUTPUT 69s write to OUTPUT in po, pot formats 69s -S, --timestamp skip conversion if the output file has newer timestamp 69s -P, --pot output PO Templates (.pot) rather than PO files (.po) 69s --encoding=ENCODING The encoding of the input file (default: UTF-8) 69s --duplicates=DUPLICATESTYLE 69s what to do with duplicate strings (identical source 69s text): merge, msgctxt (default: 'msgctxt') 69s ========= SMOKE TEST: /usr/bin/msghack =========== 69s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 69s This program can be used to alter .po files in ways no sane mind would think about. 69s -o result will be written to FILE 69s --invert invert a po file by switching msgid and msgstr 69s --master join any number of files in a master-formatted catalog 69s --empty empty the contents of the .po file, creating a .pot 69s --append append entries from ref.po that don't exist in file.po 69s 69s Note: It is just a replacement of msghack for backward support. 69s 69s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 69s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 69s 69s Convert OpenDocument (ODF) files to XLIFF localization files. See: 69s http://docs.translatehouse.org/projects/translate- 69s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 69s 69s Options: 69s --version show program's version number and exit 69s -h, --help show this help message and exit 69s --manpage output a manpage based on the help 69s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 69s --errorlevel=ERRORLEVEL 69s show errorlevel as: none, message, exception, 69s traceback 69s -i INPUT, --input=INPUT 69s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 69s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 69s formats 69s -x EXCLUDE, --exclude=EXCLUDE 69s exclude names matching EXCLUDE from input paths 69s -o OUTPUT, --output=OUTPUT 69s write to OUTPUT in xlf, xliff formats 69s -S, --timestamp skip conversion if the output file has newer timestamp 69s ========= SMOKE TEST: /usr/bin/oo2po =========== 69s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 69s 69s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 69s files. See: http://docs.translatehouse.org/projects/translate- 69s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 69s 69s Options: 69s --version show program's version number and exit 69s -h, --help show this help message and exit 69s --manpage output a manpage based on the help 69s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 69s --errorlevel=ERRORLEVEL 69s show errorlevel as: none, message, exception, 69s traceback 69s -i INPUT, --input=INPUT 69s read from INPUT in oo, sdf formats 69s -x EXCLUDE, --exclude=EXCLUDE 69s exclude names matching EXCLUDE from input paths 69s -o OUTPUT, --output=OUTPUT 69s write to OUTPUT in po, pot formats 69s -S, --timestamp skip conversion if the output file has newer timestamp 69s -P, --pot output PO Templates (.pot) rather than PO files (.po) 69s -l LANG, --language=LANG 69s set target language to extract from oo file (e.g. af- 69s ZA) 69s --source-language=LANG 69s set source language code (default en-US) 69s --nonrecursiveinput don't treat the input oo as a recursive store 69s --duplicates=DUPLICATESTYLE 69s what to do with duplicate strings (identical source 69s text): merge, msgctxt (default: 'msgctxt') 69s --multifile=MULTIFILESTYLE 69s how to split po/pot files (single, toplevel or 69s onefile) 69s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 69s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 69s 69s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 69s files. See: http://docs.translatehouse.org/projects/translate- 69s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 69s 69s Options: 69s --version show program's version number and exit 69s -h, --help show this help message and exit 69s --manpage output a manpage based on the help 69s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 69s --errorlevel=ERRORLEVEL 69s show errorlevel as: none, message, exception, 69s traceback 69s -i INPUT, --input=INPUT 69s read from INPUT in oo, sdf formats 69s -x EXCLUDE, --exclude=EXCLUDE 69s exclude names matching EXCLUDE from input paths 69s -o OUTPUT, --output=OUTPUT 69s write to OUTPUT in xlf, xliff formats 69s -S, --timestamp skip conversion if the output file has newer timestamp 69s -l LANG, --language=LANG 69s set target language to extract from oo file (e.g. af- 69s ZA) 69s --source-language=LANG 69s set source language code (default en-US) 69s --nonrecursiveinput don't treat the input oo as a recursive store 69s --duplicates=DUPLICATESTYLE 69s what to do with duplicate strings (identical source 69s text): merge, msgctxt (default: 'msgctxt') 69s --multifile=MULTIFILESTYLE 69s how to split po/pot files (single, toplevel or 69s onefile) 70s ========= SMOKE TEST: /usr/bin/php2po =========== 70s 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] 70s 70s Convert PHP localization files to Gettext PO localization files. See: 70s http://docs.translatehouse.org/projects/translate- 70s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 70s 70s Options: 70s --version show program's version number and exit 70s -h, --help show this help message and exit 70s --manpage output a manpage based on the help 70s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 70s --errorlevel=ERRORLEVEL 70s show errorlevel as: none, message, exception, 70s traceback 70s -i INPUT, --input=INPUT 70s read from INPUT in html, php formats 70s -x EXCLUDE, --exclude=EXCLUDE 70s exclude names matching EXCLUDE from input paths 70s -o OUTPUT, --output=OUTPUT 70s write to OUTPUT in po, pot formats 70s -t TEMPLATE, --template=TEMPLATE 70s read from TEMPLATE in html, php formats 70s -S, --timestamp skip conversion if the output file has newer timestamp 70s -P, --pot output PO Templates (.pot) rather than PO files (.po) 70s --duplicates=DUPLICATESTYLE 70s what to do with duplicate strings (identical source 70s text): merge, msgctxt (default: 'msgctxt') 70s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 70s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 70s 70s Convert PHP format .po files to Python format .po files. 70s 70s Options: 70s --version show program's version number and exit 70s -h, --help show this help message and exit 70s --manpage output a manpage based on the help 70s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 70s --errorlevel=ERRORLEVEL 70s show errorlevel as: none, message, exception, 70s traceback 70s -i INPUT, --input=INPUT 70s read from INPUT in po, pot formats 70s -x EXCLUDE, --exclude=EXCLUDE 70s exclude names matching EXCLUDE from input paths 70s -o OUTPUT, --output=OUTPUT 70s write to OUTPUT in po, pot formats 70s -S, --timestamp skip conversion if the output file has newer timestamp 70s ========= SMOKE TEST: /usr/bin/po2csv =========== 70s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 70s 70s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 70s See: http://docs.translatehouse.org/projects/translate- 70s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 70s 70s Options: 70s --version show program's version number and exit 70s -h, --help show this help message and exit 70s --manpage output a manpage based on the help 70s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 70s --errorlevel=ERRORLEVEL 70s show errorlevel as: none, message, exception, 70s traceback 70s -i INPUT, --input=INPUT 70s read from INPUT in po, pot formats 70s -x EXCLUDE, --exclude=EXCLUDE 70s exclude names matching EXCLUDE from input paths 70s -o OUTPUT, --output=OUTPUT 70s write to OUTPUT in csv format 70s -S, --timestamp skip conversion if the output file has newer timestamp 70s --columnorder=COLUMNORDER 70s specify the order and position of columns 70s (location,source,target,context) 70s ========= SMOKE TEST: /usr/bin/po2dtd =========== 70s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 70s 70s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 70s Conversion is either done using a template plus PO file or just using the 70s .po file. 70s 70s Options: 70s --version show program's version number and exit 70s -h, --help show this help message and exit 70s --manpage output a manpage based on the help 70s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 70s --errorlevel=ERRORLEVEL 70s show errorlevel as: none, message, exception, 70s traceback 70s -i INPUT, --input=INPUT 70s read from INPUT in po, pot formats 70s -x EXCLUDE, --exclude=EXCLUDE 70s exclude names matching EXCLUDE from input paths 70s -o OUTPUT, --output=OUTPUT 70s write to OUTPUT in dtd format 70s -t TEMPLATE, --template=TEMPLATE 70s read from TEMPLATE in dtd format 70s -S, --timestamp skip conversion if the output file has newer timestamp 70s --threshold=PERCENT only convert files where the translation completion is 70s above PERCENT 70s --fuzzy use translations marked fuzzy 70s --nofuzzy don't use translations marked fuzzy (default) 70s --removeuntranslated remove untranslated strings from output 70s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 70s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 70s 70s Convert Gettext PO localization files to flat XML files. See: 70s http://docs.translatehouse.org/projects/translate- 70s toolkit/en/latest/commands/flatxml2po.html for examples and usage 70s instructions. 70s 70s Options: 70s --version show program's version number and exit 70s -h, --help show this help message and exit 70s --manpage output a manpage based on the help 70s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 70s --errorlevel=ERRORLEVEL 70s show errorlevel as: none, message, exception, 70s traceback 70s -i INPUT, --input=INPUT 70s read from INPUT in po, pot formats 70s -x EXCLUDE, --exclude=EXCLUDE 70s exclude names matching EXCLUDE from input paths 70s -o OUTPUT, --output=OUTPUT 70s write to OUTPUT in xml format 70s -t TEMPLATE, --template=TEMPLATE 70s read from TEMPLATE in xml format 70s -S, --timestamp skip conversion if the output file has newer timestamp 70s -r ROOT, --root=ROOT name of the XML root element (default: "root") 70s -v VALUE, --value=VALUE 70s name of the XML value element (default: "str") 70s -k KEY, --key=KEY name of the XML key attribute (default: "key") 70s -n NS, --namespace=NS 70s XML namespace uri (default: None) 70s -w INDENT, --indent=INDENT 70s indent width in spaces, 0 for no indent (default: 2) 70s ========= SMOKE TEST: /usr/bin/po2html =========== 71s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 71s 71s Translate HTML files using Gettext PO localization files. See: 71s http://docs.translatehouse.org/projects/translate- 71s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 71s 71s Options: 71s --version show program's version number and exit 71s -h, --help show this help message and exit 71s --manpage output a manpage based on the help 71s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 71s --errorlevel=ERRORLEVEL 71s show errorlevel as: none, message, exception, 71s traceback 71s -i INPUT, --input=INPUT 71s read from INPUT in po, pot formats 71s -x EXCLUDE, --exclude=EXCLUDE 71s exclude names matching EXCLUDE from input paths 71s -o OUTPUT, --output=OUTPUT 71s write to OUTPUT in htm, html, xhtml formats 71s -t TEMPLATE, --template=TEMPLATE 71s read from TEMPLATE in htm, html, xhtml formats 71s -S, --timestamp skip conversion if the output file has newer timestamp 71s --threshold=PERCENT only convert files where the translation completion is 71s above PERCENT 71s --fuzzy use translations marked fuzzy 71s --nofuzzy don't use translations marked fuzzy (default) 71s ========= SMOKE TEST: /usr/bin/po2ical =========== 71s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 71s 71s Convert Gettext PO localization files to iCalendar files. See: 71s http://docs.translatehouse.org/projects/translate- 71s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 71s 71s Options: 71s --version show program's version number and exit 71s -h, --help show this help message and exit 71s --manpage output a manpage based on the help 71s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 71s --errorlevel=ERRORLEVEL 71s show errorlevel as: none, message, exception, 71s traceback 71s -i INPUT, --input=INPUT 71s read from INPUT in po, pot formats 71s -x EXCLUDE, --exclude=EXCLUDE 71s exclude names matching EXCLUDE from input paths 71s -o OUTPUT, --output=OUTPUT 71s write to OUTPUT in ics format 71s -t TEMPLATE, --template=TEMPLATE 71s read from TEMPLATE in ics format 71s -S, --timestamp skip conversion if the output file has newer timestamp 71s --threshold=PERCENT only convert files where the translation completion is 71s above PERCENT 71s --fuzzy use translations marked fuzzy 71s --nofuzzy don't use translations marked fuzzy (default) 71s ========= SMOKE TEST: /usr/bin/po2idml =========== 71s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 71s 71s Takes an IDML template file and a PO file containing translations of strings 71s in the IDML template. It creates a new IDML file using the translations of the 71s PO file. 71s 71s Options: 71s --version show program's version number and exit 71s -h, --help show this help message and exit 71s --manpage output a manpage based on the help 71s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 71s --errorlevel=ERRORLEVEL 71s show errorlevel as: none, message, exception, 71s traceback 71s -i INPUT, --input=INPUT 71s read from INPUT in po, pot formats 71s -x EXCLUDE, --exclude=EXCLUDE 71s exclude names matching EXCLUDE from input paths 71s -o OUTPUT, --output=OUTPUT 71s write to OUTPUT in idml format 71s -t TEMPLATE, --template=TEMPLATE 71s read from TEMPLATE in idml format 71s -S, --timestamp skip conversion if the output file has newer timestamp 71s ========= SMOKE TEST: /usr/bin/po2ini =========== 71s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 71s 71s Convert Gettext PO localization files to .ini files. See: 71s http://docs.translatehouse.org/projects/translate- 71s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 71s 71s Options: 71s --version show program's version number and exit 71s -h, --help show this help message and exit 71s --manpage output a manpage based on the help 71s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 71s --errorlevel=ERRORLEVEL 71s show errorlevel as: none, message, exception, 71s traceback 71s -i INPUT, --input=INPUT 71s read from INPUT in po, pot formats 71s -x EXCLUDE, --exclude=EXCLUDE 71s exclude names matching EXCLUDE from input paths 71s -o OUTPUT, --output=OUTPUT 71s write to OUTPUT in ini, isl formats 71s -t TEMPLATE, --template=TEMPLATE 71s read from TEMPLATE in ini, isl formats 71s -S, --timestamp skip conversion if the output file has newer timestamp 71s --threshold=PERCENT only convert files where the translation completion is 71s above PERCENT 71s --fuzzy use translations marked fuzzy 71s --nofuzzy don't use translations marked fuzzy (default) 71s ========= SMOKE TEST: /usr/bin/po2json =========== 71s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 71s 71s Convert Gettext PO localization files to JSON files. See: 71s http://docs.translatehouse.org/projects/translate- 71s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 71s 71s Options: 71s --version show program's version number and exit 71s -h, --help show this help message and exit 71s --manpage output a manpage based on the help 71s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 71s --errorlevel=ERRORLEVEL 71s show errorlevel as: none, message, exception, 71s traceback 71s -i INPUT, --input=INPUT 71s read from INPUT in po, pot formats 71s -x EXCLUDE, --exclude=EXCLUDE 71s exclude names matching EXCLUDE from input paths 71s -o OUTPUT, --output=OUTPUT 71s write to OUTPUT in json format 71s -t TEMPLATE, --template=TEMPLATE 71s read from TEMPLATE in json format 71s -S, --timestamp skip conversion if the output file has newer timestamp 71s --threshold=PERCENT only convert files where the translation completion is 71s above PERCENT 71s --fuzzy use translations marked fuzzy 71s --nofuzzy don't use translations marked fuzzy (default) 71s --removeuntranslated remove untranslated strings from output 71s ========= SMOKE TEST: /usr/bin/po2md =========== 72s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 72s 72s Translate Markdown files using Gettext PO localization files. See: 72s http://docs.translatehouse.org/projects/translate- 72s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 72s 72s Options: 72s --version show program's version number and exit 72s -h, --help show this help message and exit 72s --manpage output a manpage based on the help 72s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 72s --errorlevel=ERRORLEVEL 72s show errorlevel as: none, message, exception, 72s traceback 72s -i INPUT, --input=INPUT 72s read from INPUT in po, pot formats 72s -x EXCLUDE, --exclude=EXCLUDE 72s exclude names matching EXCLUDE from input paths 72s -o OUTPUT, --output=OUTPUT 72s write to OUTPUT in markdown, md, text, txt formats 72s -t TEMPLATE, --template=TEMPLATE 72s read from TEMPLATE in markdown, md, text, txt formats 72s -S, --timestamp skip conversion if the output file has newer timestamp 72s -m MAXLENGTH, --maxlinelength=MAXLENGTH 72s reflow (word wrap) the output to the given maximum 72s line length. set to 0 to disable 72s --threshold=PERCENT only convert files where the translation completion is 72s above PERCENT 72s --fuzzy use translations marked fuzzy 72s --nofuzzy don't use translations marked fuzzy (default) 72s ========= SMOKE TEST: /usr/bin/po2moz =========== 72s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 72s 72s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 72s See: http://docs.translatehouse.org/projects/translate- 72s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 72s 72s Options: 72s --version show program's version number and exit 72s -h, --help show this help message and exit 72s --manpage output a manpage based on the help 72s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 72s --errorlevel=ERRORLEVEL 72s show errorlevel as: none, message, exception, 72s traceback 72s -i INPUT, --input=INPUT 72s read from INPUT in *, dtd.po, dtd.pot, inc.po, 72s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 72s lang.pot, manifest, properties.po, properties.pot, rdf 72s formats 72s -x EXCLUDE, --exclude=EXCLUDE 72s exclude names matching EXCLUDE from input paths 72s -o OUTPUT, --output=OUTPUT 72s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 72s manifest, properties, rdf formats 72s -t TEMPLATE, --template=TEMPLATE 72s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 72s manifest, properties, rdf formats 72s -S, --timestamp skip conversion if the output file has newer timestamp 72s -l LOCALE, --locale=LOCALE 72s set output locale (required as this sets the directory 72s names) 72s --threshold=PERCENT only convert files where the translation completion is 72s above PERCENT 72s --fuzzy use translations marked fuzzy 72s --nofuzzy don't use translations marked fuzzy (default) 72s --removeuntranslated remove untranslated strings from output 72s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 72s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 72s 72s Convert Gettext PO localization files to Mozilla .lang files. 72s 72s Options: 72s --version show program's version number and exit 72s -h, --help show this help message and exit 72s --manpage output a manpage based on the help 72s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 72s --errorlevel=ERRORLEVEL 72s show errorlevel as: none, message, exception, 72s traceback 72s -i INPUT, --input=INPUT 72s read from INPUT in po, pot formats 72s -x EXCLUDE, --exclude=EXCLUDE 72s exclude names matching EXCLUDE from input paths 72s -o OUTPUT, --output=OUTPUT 72s write to OUTPUT in lang format 72s -t TEMPLATE, --template=TEMPLATE 72s read from TEMPLATE in lang format 72s -S, --timestamp skip conversion if the output file has newer timestamp 72s --mark-active mark the file as active 72s --threshold=PERCENT only convert files where the translation completion is 72s above PERCENT 72s --fuzzy use translations marked fuzzy 72s --nofuzzy don't use translations marked fuzzy (default) 72s ========= SMOKE TEST: /usr/bin/po2oo =========== 72s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 72s 72s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 72s file. See: http://docs.translatehouse.org/projects/translate- 72s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 72s 72s Options: 72s --version show program's version number and exit 72s -h, --help show this help message and exit 72s --manpage output a manpage based on the help 72s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 72s --errorlevel=ERRORLEVEL 72s show errorlevel as: none, message, exception, 72s traceback 72s -i INPUT, --input=INPUT 72s read from INPUT in po, pot, xlf, xliff formats 72s -x EXCLUDE, --exclude=EXCLUDE 72s exclude names matching EXCLUDE from input paths 72s -o OUTPUT, --output=OUTPUT 72s write to OUTPUT in oo, sdf formats 72s -t TEMPLATE, --template=TEMPLATE 72s read from TEMPLATE in oo, sdf formats 72s -S, --timestamp skip conversion if the output file has newer timestamp 72s -l LANG, --language=LANG 72s set target language code (e.g. af-ZA) [required] 72s --source-language=LANG 72s set source language code (default en-US) 72s -T, --keeptimestamp don't change the timestamps of the strings 72s --nonrecursiveoutput don't treat the output oo as a recursive store 72s --nonrecursivetemplate 72s don't treat the template oo as a recursive store 72s --skipsource don't output the source language, but fallback to it 72s where needed 72s --filteraction=ACTION 72s action on pofilter failure: none (default), warn, 72s exclude-serious, exclude-all 72s --threshold=PERCENT only convert files where the translation completion is 72s above PERCENT 72s --fuzzy use translations marked fuzzy 72s --nofuzzy don't use translations marked fuzzy (default) 72s --multifile=MULTIFILESTYLE 72s how to split po/pot files (single, toplevel or 72s onefile) 72s ========= SMOKE TEST: /usr/bin/po2php =========== 73s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 73s 73s Convert Gettext PO localization files to PHP localization files. See: 73s http://docs.translatehouse.org/projects/translate- 73s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 73s 73s Options: 73s --version show program's version number and exit 73s -h, --help show this help message and exit 73s --manpage output a manpage based on the help 73s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 73s --errorlevel=ERRORLEVEL 73s show errorlevel as: none, message, exception, 73s traceback 73s -i INPUT, --input=INPUT 73s read from INPUT in po, pot formats 73s -x EXCLUDE, --exclude=EXCLUDE 73s exclude names matching EXCLUDE from input paths 73s -o OUTPUT, --output=OUTPUT 73s write to OUTPUT in html, php formats 73s -t TEMPLATE, --template=TEMPLATE 73s read from TEMPLATE in html, php formats 73s -S, --timestamp skip conversion if the output file has newer timestamp 73s --threshold=PERCENT only convert files where the translation completion is 73s above PERCENT 73s --fuzzy use translations marked fuzzy 73s --nofuzzy don't use translations marked fuzzy (default) 73s ========= SMOKE TEST: /usr/bin/po2prop =========== 73s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 73s 73s Convert Gettext PO localization files to Java/Mozilla .properties files. 73s See: http://docs.translatehouse.org/projects/translate- 73s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 73s 73s Options: 73s --version show program's version number and exit 73s -h, --help show this help message and exit 73s --manpage output a manpage based on the help 73s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 73s --errorlevel=ERRORLEVEL 73s show errorlevel as: none, message, exception, 73s traceback 73s -i INPUT, --input=INPUT 73s read from INPUT in po, pot formats 73s -x EXCLUDE, --exclude=EXCLUDE 73s exclude names matching EXCLUDE from input paths 73s -o OUTPUT, --output=OUTPUT 73s write to OUTPUT in lang, properties, strings formats 73s -t TEMPLATE, --template=TEMPLATE 73s read from TEMPLATE in lang, properties, strings 73s formats 73s -S, --timestamp skip conversion if the output file has newer timestamp 73s --personality=TYPE override the input file format: java, java-utf8, java- 73s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 73s strings, strings-utf8, joomla (for .properties files, 73s default: java) 73s --encoding=ENCODING override the encoding set by the personality 73s --threshold=PERCENT only convert files where the translation completion is 73s above PERCENT 73s --fuzzy use translations marked fuzzy 73s --nofuzzy don't use translations marked fuzzy (default) 73s --removeuntranslated remove untranslated strings from output 73s ========= SMOKE TEST: /usr/bin/po2rc =========== 73s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 73s 73s Convert Gettext PO localization files back to Windows Resource (.rc) files. 73s See: http://docs.translatehouse.org/projects/translate- 73s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 73s 73s Options: 73s --version show program's version number and exit 73s -h, --help show this help message and exit 73s --manpage output a manpage based on the help 73s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 73s --errorlevel=ERRORLEVEL 73s show errorlevel as: none, message, exception, 73s traceback 73s -i INPUT, --input=INPUT 73s read from INPUT in po, pot formats 73s -x EXCLUDE, --exclude=EXCLUDE 73s exclude names matching EXCLUDE from input paths 73s -o OUTPUT, --output=OUTPUT 73s write to OUTPUT in rc format 73s -t TEMPLATE, --template=TEMPLATE 73s read from TEMPLATE in rc format 73s -S, --timestamp skip conversion if the output file has newer timestamp 73s --charset=CHARSET charset to use to decode the template RC files 73s (default: utf-8) 73s --charset-output=CHARSET 73s charset to use to encode the RC file (default: auto) 73s -l LANG, --lang=LANG LANG entry 73s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 73s --threshold=PERCENT only convert files where the translation completion is 73s above PERCENT 73s --fuzzy use translations marked fuzzy 73s --nofuzzy don't use translations marked fuzzy (default) 73s ========= SMOKE TEST: /usr/bin/po2resx =========== 73s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 73s 73s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 73s http://docs.translatehouse.org/projects/translate- 73s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 73s 73s Options: 73s --version show program's version number and exit 73s -h, --help show this help message and exit 73s --manpage output a manpage based on the help 73s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 73s --errorlevel=ERRORLEVEL 73s show errorlevel as: none, message, exception, 73s traceback 73s -i INPUT, --input=INPUT 73s read from INPUT in po, pot formats 73s -x EXCLUDE, --exclude=EXCLUDE 73s exclude names matching EXCLUDE from input paths 73s -o OUTPUT, --output=OUTPUT 73s write to OUTPUT in resx format 73s -t TEMPLATE, --template=TEMPLATE 73s read from TEMPLATE in resx format 73s -S, --timestamp skip conversion if the output file has newer timestamp 73s --fuzzy use translations marked fuzzy 73s --nofuzzy don't use translations marked fuzzy (default) 73s ========= SMOKE TEST: /usr/bin/po2sub =========== 73s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 73s 73s Convert Gettext PO localization files to subtitle files. See: 73s http://docs.translatehouse.org/projects/translate- 73s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 73s 73s Options: 73s --version show program's version number and exit 73s -h, --help show this help message and exit 73s --manpage output a manpage based on the help 73s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 73s --errorlevel=ERRORLEVEL 73s show errorlevel as: none, message, exception, 73s traceback 73s -i INPUT, --input=INPUT 73s read from INPUT in po, pot formats 73s -x EXCLUDE, --exclude=EXCLUDE 73s exclude names matching EXCLUDE from input paths 73s -o OUTPUT, --output=OUTPUT 73s write to OUTPUT in ass, srt, ssa, sub formats 73s -t TEMPLATE, --template=TEMPLATE 73s read from TEMPLATE in ass, srt, ssa, sub formats 73s -S, --timestamp skip conversion if the output file has newer timestamp 73s --threshold=PERCENT only convert files where the translation completion is 73s above PERCENT 73s --fuzzy use translations marked fuzzy 73s --nofuzzy don't use translations marked fuzzy (default) 73s ========= SMOKE TEST: /usr/bin/po2symb =========== 73s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 73s 73s Convert Gettext PO localization files to Symbian translation files. See: 73s http://docs.translatehouse.org/projects/translate- 73s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 73s 73s Options: 73s --version show program's version number and exit 73s -h, --help show this help message and exit 73s --manpage output a manpage based on the help 73s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 73s --errorlevel=ERRORLEVEL 73s show errorlevel as: none, message, exception, 73s traceback 73s -i INPUT, --input=INPUT 73s read from INPUT in po, pot formats 73s -x EXCLUDE, --exclude=EXCLUDE 73s exclude names matching EXCLUDE from input paths 73s -o OUTPUT, --output=OUTPUT 73s write to OUTPUT in r0 format 73s -t TEMPLATE, --template=TEMPLATE 73s read from TEMPLATE in 73s -S, --timestamp skip conversion if the output file has newer timestamp 73s --duplicates=DUPLICATESTYLE 73s what to do with duplicate strings (identical source 73s text): merge, msgctxt (default: 'msgctxt') 73s ========= SMOKE TEST: /usr/bin/po2tiki =========== 74s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 74s 74s Convert Gettext PO files to TikiWiki's language.php files. See: 74s http://docs.translatehouse.org/projects/translate- 74s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 74s 74s Options: 74s --version show program's version number and exit 74s -h, --help show this help message and exit 74s --manpage output a manpage based on the help 74s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 74s --errorlevel=ERRORLEVEL 74s show errorlevel as: none, message, exception, 74s traceback 74s -i INPUT, --input=INPUT 74s read from INPUT in po, pot formats 74s -x EXCLUDE, --exclude=EXCLUDE 74s exclude names matching EXCLUDE from input paths 74s -o OUTPUT, --output=OUTPUT 74s write to OUTPUT in tiki format 74s -S, --timestamp skip conversion if the output file has newer timestamp 74s ========= SMOKE TEST: /usr/bin/po2tmx =========== 74s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 74s 74s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 74s file. See: http://docs.translatehouse.org/projects/translate- 74s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 74s 74s Options: 74s --version show program's version number and exit 74s -h, --help show this help message and exit 74s --manpage output a manpage based on the help 74s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 74s --errorlevel=ERRORLEVEL 74s show errorlevel as: none, message, exception, 74s traceback 74s -i INPUT, --input=INPUT 74s read from INPUT in po, pot formats 74s -x EXCLUDE, --exclude=EXCLUDE 74s exclude names matching EXCLUDE from input paths 74s -o OUTPUT, --output=OUTPUT 74s write to OUTPUT in tmx format 74s -S, --timestamp skip conversion if the output file has newer timestamp 74s -l LANG, --language=LANG 74s set target language code (e.g. af-ZA) [required] 74s --source-language=LANG 74s set source language code (default: en) 74s --comments=COMMENT set default comment import: none, source, type or 74s others (default: none) 74s ========= SMOKE TEST: /usr/bin/po2ts =========== 74s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 74s 74s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 74s http://docs.translatehouse.org/projects/translate- 74s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 74s 74s Options: 74s --version show program's version number and exit 74s -h, --help show this help message and exit 74s --manpage output a manpage based on the help 74s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 74s --errorlevel=ERRORLEVEL 74s show errorlevel as: none, message, exception, 74s traceback 74s -i INPUT, --input=INPUT 74s read from INPUT in po, pot formats 74s -x EXCLUDE, --exclude=EXCLUDE 74s exclude names matching EXCLUDE from input paths 74s -o OUTPUT, --output=OUTPUT 74s write to OUTPUT in ts format 74s -t TEMPLATE, --template=TEMPLATE 74s read from TEMPLATE in ts format 74s -S, --timestamp skip conversion if the output file has newer timestamp 74s -c CONTEXT, --context=CONTEXT 74s use supplied context instead of the one in the .po 74s file comment 74s ========= SMOKE TEST: /usr/bin/po2txt =========== 74s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 74s 74s Convert Gettext PO localization files to plain text (.txt) files. See: 74s http://docs.translatehouse.org/projects/translate- 74s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 74s 74s Options: 74s --version show program's version number and exit 74s -h, --help show this help message and exit 74s --manpage output a manpage based on the help 74s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 74s --errorlevel=ERRORLEVEL 74s show errorlevel as: none, message, exception, 74s traceback 74s -i INPUT, --input=INPUT 74s read from INPUT in po, pot, xlf, xliff formats 74s -x EXCLUDE, --exclude=EXCLUDE 74s exclude names matching EXCLUDE from input paths 74s -o OUTPUT, --output=OUTPUT 74s write to OUTPUT in txt format 74s -t TEMPLATE, --template=TEMPLATE 74s read from TEMPLATE in txt format 74s -S, --timestamp skip conversion if the output file has newer timestamp 74s --encoding=ENCODING The encoding of the template file (default: UTF-8) 74s -w WRAP, --wrap=WRAP set number of columns to wrap text at 74s --threshold=PERCENT only convert files where the translation completion is 74s above PERCENT 74s --fuzzy use translations marked fuzzy 74s --nofuzzy don't use translations marked fuzzy (default) 74s ========= SMOKE TEST: /usr/bin/po2web2py =========== 74s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 74s 74s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 74s http://docs.translatehouse.org/projects/translate- 74s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 74s 74s Options: 74s --version show program's version number and exit 74s -h, --help show this help message and exit 74s --manpage output a manpage based on the help 74s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 74s --errorlevel=ERRORLEVEL 74s show errorlevel as: none, message, exception, 74s traceback 74s -i INPUT, --input=INPUT 74s read from INPUT in po, pot formats 74s -x EXCLUDE, --exclude=EXCLUDE 74s exclude names matching EXCLUDE from input paths 74s -o OUTPUT, --output=OUTPUT 74s write to OUTPUT in py format 74s -S, --timestamp skip conversion if the output file has newer timestamp 74s --threshold=PERCENT only convert files where the translation completion is 74s above PERCENT 74s --fuzzy use translations marked fuzzy 74s --nofuzzy don't use translations marked fuzzy (default) 74s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 74s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 74s 74s Convert Gettext PO localization files to a Wordfast translation memory file. 74s See: http://docs.translatehouse.org/projects/translate- 74s toolkit/en/latest/commands/po2wordfast.html for examples and usage 74s instructions. 74s 74s Options: 74s --version show program's version number and exit 74s -h, --help show this help message and exit 74s --manpage output a manpage based on the help 74s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 74s --errorlevel=ERRORLEVEL 74s show errorlevel as: none, message, exception, 74s traceback 74s -i INPUT, --input=INPUT 74s read from INPUT in po, pot formats 74s -x EXCLUDE, --exclude=EXCLUDE 74s exclude names matching EXCLUDE from input paths 74s -o OUTPUT, --output=OUTPUT 74s write to OUTPUT in txt format 74s -S, --timestamp skip conversion if the output file has newer timestamp 74s -l LANG, --language=LANG 74s set target language code (e.g. af-ZA) [required] 74s --source-language=LANG 74s set source language code (default: en) 74s ========= SMOKE TEST: /usr/bin/po2xliff =========== 74s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 74s 74s Convert Gettext PO localization files to XLIFF localization files. See: 74s http://docs.translatehouse.org/projects/translate- 74s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 74s 74s Options: 74s --version show program's version number and exit 74s -h, --help show this help message and exit 74s --manpage output a manpage based on the help 74s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 74s --errorlevel=ERRORLEVEL 74s show errorlevel as: none, message, exception, 74s traceback 74s -i INPUT, --input=INPUT 74s read from INPUT in po, pot formats 74s -x EXCLUDE, --exclude=EXCLUDE 74s exclude names matching EXCLUDE from input paths 74s -o OUTPUT, --output=OUTPUT 74s write to OUTPUT in xlf, xliff formats 74s -t TEMPLATE, --template=TEMPLATE 74s read from TEMPLATE in xlf, xliff formats 74s -S, --timestamp skip conversion if the output file has newer timestamp 75s ========= SMOKE TEST: /usr/bin/po2yaml =========== 75s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 75s 75s Convert Gettext PO localization files to YAML files. See: 75s http://docs.translatehouse.org/projects/translate- 75s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 75s 75s Options: 75s --version show program's version number and exit 75s -h, --help show this help message and exit 75s --manpage output a manpage based on the help 75s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 75s --errorlevel=ERRORLEVEL 75s show errorlevel as: none, message, exception, 75s traceback 75s -i INPUT, --input=INPUT 75s read from INPUT in po, pot formats 75s -x EXCLUDE, --exclude=EXCLUDE 75s exclude names matching EXCLUDE from input paths 75s -o OUTPUT, --output=OUTPUT 75s write to OUTPUT in yaml, yml formats 75s -t TEMPLATE, --template=TEMPLATE 75s read from TEMPLATE in yaml, yml formats 75s -S, --timestamp skip conversion if the output file has newer timestamp 75s --threshold=PERCENT only convert files where the translation completion is 75s above PERCENT 75s --fuzzy use translations marked fuzzy 75s --nofuzzy don't use translations marked fuzzy (default) 75s ========= SMOKE TEST: /usr/bin/poclean =========== 75s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 75s 75s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 75s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 75s produces the target file with only the target text in from a text version of 75s the RTF. 75s 75s Options: 75s --version show program's version number and exit 75s -h, --help show this help message and exit 75s --manpage output a manpage based on the help 75s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 75s --errorlevel=ERRORLEVEL 75s show errorlevel as: none, message, exception, 75s traceback 75s -i INPUT, --input=INPUT 75s read from INPUT in po, pot, xlf, xliff formats 75s -x EXCLUDE, --exclude=EXCLUDE 75s exclude names matching EXCLUDE from input paths 75s -o OUTPUT, --output=OUTPUT 75s write to OUTPUT in po, pot, xlf, xliff formats 75s -S, --timestamp skip conversion if the output file has newer timestamp 75s ========= SMOKE TEST: /usr/bin/pocompendium =========== 75s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 75s The first parameter is the output file, standard output if the output file is '-'. 75s Any number of directories may be specified for input files. 75s Options: 75s --invert|v Creates an inverse compendium with msgid and msgstr swapped 75s --errors|e Only ouput msg bundles that have errors 75s --correct|c Only ouput msg bundles that are correctly translated 75s --ignore-case|i Drops all strings to lowercase 75s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 75s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 75s --strip-accel-under|-su Strip all underscore (_) accelerator characters 75s ========= SMOKE TEST: /usr/bin/pocompile =========== 75s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 75s 75s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 75s Object) files. See: http://docs.translatehouse.org/projects/translate- 75s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 75s 75s Options: 75s --version show program's version number and exit 75s -h, --help show this help message and exit 75s --manpage output a manpage based on the help 75s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 75s --errorlevel=ERRORLEVEL 75s show errorlevel as: none, message, exception, 75s traceback 75s -i INPUT, --input=INPUT 75s read from INPUT in po, pot, xlf, xliff formats 75s -x EXCLUDE, --exclude=EXCLUDE 75s exclude names matching EXCLUDE from input paths 75s -o OUTPUT, --output=OUTPUT 75s write to OUTPUT in mo format 75s -S, --timestamp skip conversion if the output file has newer timestamp 75s --fuzzy use translations marked fuzzy 75s --nofuzzy don't use translations marked fuzzy (default) 75s ========= SMOKE TEST: /usr/bin/poconflicts =========== 75s 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] 75s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 75s 75s Conflict finder for Gettext PO localization files. See: 75s http://docs.translatehouse.org/projects/translate- 75s toolkit/en/latest/commands/poconflicts.html for examples and usage 75s instructions. 75s 75s Options: 75s --version show program's version number and exit 75s -h, --help show this help message and exit 75s --manpage output a manpage based on the help 75s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 75s --errorlevel=ERRORLEVEL 75s show errorlevel as: none, message, exception, 75s traceback 75s -i INPUT, --input=INPUT 75s read from INPUT in po format 75s -x EXCLUDE, --exclude=EXCLUDE 75s exclude names matching EXCLUDE from input paths 75s -o OUTPUT, --output=OUTPUT 75s write to OUTPUT in po format 75s -I, --ignore-case ignore case distinctions 75s -v, --invert invert the conflicts thus extracting conflicting 75s destination words 75s --accelerator=ACCELERATORS 75s ignores the given accelerator characters when matching 75s ========= SMOKE TEST: /usr/bin/pocount =========== 75s usage: pocount [-h] [--incomplete] [--full | --csv | --short | 75s --short-strings | --short-words] [--no-color] 75s files [files ...] 75s 75s positional arguments: 75s files 75s 75s options: 75s -h, --help show this help message and exit 75s --incomplete skip 100% translated files. 75s 75s Output format: 75s --full (default) statistics in full, verbose format 75s --csv statistics in CSV format 75s --short same as --short-strings 75s --short-strings statistics of strings in short format - one line per file 75s --short-words statistics of words in short format - one line per file 75s --no-color show output without color 75s ========= SMOKE TEST: /usr/bin/podebug =========== 75s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 75s 75s Insert debug messages into XLIFF and Gettext PO localization files. See: 75s http://docs.translatehouse.org/projects/translate- 75s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 75s 75s Options: 75s --version show program's version number and exit 75s -h, --help show this help message and exit 75s --manpage output a manpage based on the help 75s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 75s --errorlevel=ERRORLEVEL 75s show errorlevel as: none, message, exception, 75s traceback 75s -i INPUT, --input=INPUT 75s read from INPUT in po, pot, pot, tmx, xlf, xliff 75s formats 75s -x EXCLUDE, --exclude=EXCLUDE 75s exclude names matching EXCLUDE from input paths 75s -o OUTPUT, --output=OUTPUT 75s write to OUTPUT in po, pot, tmx, xlf, xliff formats 75s -S, --timestamp skip conversion if the output file has newer timestamp 75s -f FORMAT, --format=FORMAT 75s specify format string 75s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 75s classified, en, flipped, unicode, xxx 75s --ignore=APPLICATION apply tagging ignore rules for the given application: 75s gtk, kde, libreoffice, mozilla, openoffice 75s --preserveplaceholders 75s attempt to exclude characters that are part of 75s placeholders when performing character-level rewrites 75s so that consuming applications can still use the 75s placeholders to generate final output 76s ========= SMOKE TEST: /usr/bin/pofilter =========== 76s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 76s 76s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 76s Snippet files are created whenever a test fails. These can be examined, 76s corrected and merged back into the originals using pomerge. See: 76s http://docs.translatehouse.org/projects/translate- 76s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 76s and http://docs.translatehouse.org/projects/translate- 76s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 76s tests. 76s 76s Options: 76s --version show program's version number and exit 76s -h, --help show this help message and exit 76s --manpage output a manpage based on the help 76s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 76s --errorlevel=ERRORLEVEL 76s show errorlevel as: none, message, exception, 76s traceback 76s -i INPUT, --input=INPUT 76s read from INPUT in po, pot, tmx, xlf, xliff formats 76s -x EXCLUDE, --exclude=EXCLUDE 76s exclude names matching EXCLUDE from input paths 76s -o OUTPUT, --output=OUTPUT 76s write to OUTPUT in po, pot, tmx, xlf, xliff formats 76s -l, --listfilters list filters available 76s --review include units marked for review (default) 76s --noreview exclude units marked for review 76s --fuzzy include units marked fuzzy (default) 76s --nofuzzy exclude units marked fuzzy 76s --nonotes don't add notes about the errors 76s --autocorrect output automatic corrections where possible rather 76s than describing issues 76s --language=LANG set target language code (e.g. af-ZA) [required for 76s spell check and recommended in general] 76s --openoffice use the standard checks for OpenOffice translations 76s --libreoffice use the standard checks for LibreOffice translations 76s --mozilla use the standard checks for Mozilla translations 76s --drupal use the standard checks for Drupal translations 76s --gnome use the standard checks for Gnome translations 76s --kde use the standard checks for KDE translations 76s --wx use the standard checks for wxWidgets translations 76s --excludefilter=FILTER 76s don't use FILTER when filtering 76s -t FILTER, --test=FILTER 76s only use test FILTERs specified with this option when 76s filtering 76s --notranslatefile=FILE 76s read list of untranslatable words from FILE (must not 76s be translated) 76s --musttranslatefile=FILE 76s read list of translatable words from FILE (must be 76s translated) 76s --validcharsfile=FILE 76s read list of all valid characters from FILE (must be 76s in UTF-8) 76s ========= SMOKE TEST: /usr/bin/pogrep =========== 76s 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] 76s 76s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 76s snippet files of the same type which can then be reviewed and later merged 76s using :doc:`pomerge `. See: 76s http://docs.translatehouse.org/projects/translate- 76s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 76s 76s Options: 76s --version show program's version number and exit 76s -h, --help show this help message and exit 76s --manpage output a manpage based on the help 76s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 76s --errorlevel=ERRORLEVEL 76s show errorlevel as: none, message, exception, 76s traceback 76s -i INPUT, --input=INPUT 76s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 76s xliff formats 76s -x EXCLUDE, --exclude=EXCLUDE 76s exclude names matching EXCLUDE from input paths 76s -o OUTPUT, --output=OUTPUT 76s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 76s xliff formats 76s --search=SEARCHPARTS searches the given parts (source, target, notes and 76s locations) 76s -I, --ignore-case ignore case distinctions 76s -e, --regexp use regular expression matching 76s -v, --invert-match select non-matching lines 76s --accelerator=ACCELERATOR 76s ignores the given accelerator when matching 76s -k, --keep-translations 76s always extract units with translations 76s ========= SMOKE TEST: /usr/bin/pomerge =========== 76s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 76s 76s Merges XLIFF and Gettext PO localization files. Snippet file produced by 76s e.g. :doc:`pogrep ` and updated by a translator can be 76s merged back into the original files. See: 76s http://docs.translatehouse.org/projects/translate- 76s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 76s 76s Options: 76s --version show program's version number and exit 76s -h, --help show this help message and exit 76s --manpage output a manpage based on the help 76s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 76s --errorlevel=ERRORLEVEL 76s show errorlevel as: none, message, exception, 76s traceback 76s -i INPUT, --input=INPUT 76s read from INPUT in po, pot, pot, xlf, xliff formats 76s -x EXCLUDE, --exclude=EXCLUDE 76s exclude names matching EXCLUDE from input paths 76s -o OUTPUT, --output=OUTPUT 76s write to OUTPUT in po, pot, pot, xlf, xliff formats 76s -t TEMPLATE, --template=TEMPLATE 76s read from TEMPLATE in po, pot, pot, xlf, xliff formats 76s -S, --timestamp skip conversion if the output file has newer timestamp 76s --mergeblanks=MERGEBLANKS 76s whether to overwrite existing translations with blank 76s translations (yes/no). Default is yes. 76s --mergefuzzy=MERGEFUZZY 76s whether to consider fuzzy translations from input 76s (yes/no). Default is yes. 76s --mergecomments=MERGECOMMENTS 76s whether to merge comments as well as translations 76s (yes/no). Default is yes. 76s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 76s Usage pomigrate2 [options] 76s 76s Options: 76s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 76s -C|--use-compendium - create and use a compendium built from the migrating files 76s -C|--use-compendium=some-compendium.po 76s - use an external compendium during the migration 76s --no-wrap - do not wrap long lines 76s --locale=lang - set locale for newly born files 76s -q|--quiet - suppress most output 76s -p|--pot2po - use pot2po instead of msgmerge to migrate 76s ========= SMOKE TEST: /usr/bin/popuretext =========== 76s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 76s ========= SMOKE TEST: /usr/bin/poreencode =========== 76s Usage: poreencode 76s eg: poreencode UTF-8 af/ 76s ========= SMOKE TEST: /usr/bin/porestructure =========== 76s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 76s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 76s 76s Restructure Gettxt PO files produced by :doc:`poconflicts 76s ` into the original directory tree for merging using 76s :doc:`pomerge `. See: 76s http://docs.translatehouse.org/projects/translate- 76s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 76s 76s Options: 76s --version show program's version number and exit 76s -h, --help show this help message and exit 76s --manpage output a manpage based on the help 76s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 76s --errorlevel=ERRORLEVEL 76s show errorlevel as: none, message, exception, 76s traceback 76s -i INPUT, --input=INPUT 76s read from INPUT in po format 76s -x EXCLUDE, --exclude=EXCLUDE 76s exclude names matching EXCLUDE from input paths 76s -o OUTPUT, --output=OUTPUT 76s write to OUTPUT in po format 76s ========= SMOKE TEST: /usr/bin/posegment =========== 76s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 76s 76s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 76s See: http://docs.translatehouse.org/projects/translate- 76s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 76s 76s Options: 76s --version show program's version number and exit 76s -h, --help show this help message and exit 76s --manpage output a manpage based on the help 76s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 76s --errorlevel=ERRORLEVEL 76s show errorlevel as: none, message, exception, 76s traceback 76s -i INPUT, --input=INPUT 76s read from INPUT in po, pot, tmx, xlf, xliff formats 76s -x EXCLUDE, --exclude=EXCLUDE 76s exclude names matching EXCLUDE from input paths 76s -o OUTPUT, --output=OUTPUT 76s write to OUTPUT in po, pot, tmx, xlf, xliff formats 76s -S, --timestamp skip conversion if the output file has newer timestamp 76s -P, --pot output PO Templates (.pot) rather than PO files (.po) 76s -l LANG, --language=LANG 76s the target language code 76s --source-language=LANG 76s the source language code (default 'en') 76s --keepspaces Disable automatic stripping of whitespace 76s --only-aligned Removes units where sentence number does not 76s correspond 76s ========= SMOKE TEST: /usr/bin/poswap =========== 76s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 76s 76s Builds a new translation file with the target of the input language as source 76s language. .. note:: Ensure that the two po files correspond 100% to the same 76s pot file before using this. To translate Kurdish (ku) through French:: 76s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 76s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 76s http://docs.translatehouse.org/projects/translate- 76s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 76s 76s Options: 76s --version show program's version number and exit 76s -h, --help show this help message and exit 76s --manpage output a manpage based on the help 76s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 76s --errorlevel=ERRORLEVEL 76s show errorlevel as: none, message, exception, 76s traceback 76s -i INPUT, --input=INPUT 76s read from INPUT in po, pot formats 76s -x EXCLUDE, --exclude=EXCLUDE 76s exclude names matching EXCLUDE from input paths 76s -o OUTPUT, --output=OUTPUT 76s write to OUTPUT in po, pot formats 76s -t TEMPLATE, --template=TEMPLATE 76s read from TEMPLATE in po, pot, pot formats 76s -S, --timestamp skip conversion if the output file has newer timestamp 76s --reverse reverse the process of intermediate language 76s conversion 76s ========= SMOKE TEST: /usr/bin/pot2po =========== 76s 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] 76s 76s Convert template files (like .pot or template .xlf files) to translation 76s files, preserving existing translations. See: 76s http://docs.translatehouse.org/projects/translate- 76s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 76s 76s Options: 76s --version show program's version number and exit 76s -h, --help show this help message and exit 76s --manpage output a manpage based on the help 76s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 76s --errorlevel=ERRORLEVEL 76s show errorlevel as: none, message, exception, 76s traceback 76s -i INPUT, --input=INPUT 76s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 76s formats 76s -x EXCLUDE, --exclude=EXCLUDE 76s exclude names matching EXCLUDE from input paths 76s -o OUTPUT, --output=OUTPUT 76s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 76s xliff formats 76s -t TEMPLATE, --template=TEMPLATE 76s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 76s xliff formats 76s -S, --timestamp skip conversion if the output file has newer timestamp 76s -P, --pot output PO Templates (.pot) rather than PO files (.po) 76s --tm=TM The file to use as translation memory when fuzzy 76s matching 76s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 76s The minimum similarity for inclusion (default: 75%) 76s --nofuzzymatching Disable fuzzy matching 77s ========= SMOKE TEST: /usr/bin/poterminology =========== 77s 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] 77s input directory is searched for PO files, terminology PO file is output file 77s 77s Create a terminology file by reading a set of .po or .pot files to produce a 77s pootle-terminology.pot. See: 77s http://docs.translatehouse.org/projects/translate- 77s toolkit/en/latest/commands/poterminology.html for examples and usage 77s instructions. 77s 77s Options: 77s --version show program's version number and exit 77s -h, --help show this help message and exit 77s --manpage output a manpage based on the help 77s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 77s --errorlevel=ERRORLEVEL 77s show errorlevel as: none, message, exception, 77s traceback 77s -i INPUT, --input=INPUT 77s read from INPUT in po, pot formats 77s -x EXCLUDE, --exclude=EXCLUDE 77s exclude names matching EXCLUDE from input paths 77s -o OUTPUT, --output=OUTPUT 77s write to OUTPUT in po, pot formats 77s -u UPDATEFILE, --update=UPDATEFILE 77s update terminology in UPDATEFILE 77s -S STOPFILE, --stopword-list=STOPFILE 77s read stopword (term exclusion) list from STOPFILE 77s (default /usr/share/pyshared/translate/share/stoplist- 77s en) 77s -F, --fold-titlecase fold "Title Case" to lowercase (default) 77s -C, --preserve-case preserve all uppercase/lowercase 77s -I, --ignore-case make all terms lowercase 77s --accelerator=ACCELERATORS 77s ignore the given accelerator characters when matching 77s -t LENGTH, --term-words=LENGTH 77s generate terms of up to LENGTH words (default 3) 77s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 77s 1) 77s --inputs-needed=MIN omit terms appearing in less than MIN input files 77s (default 2, or 1 if only one input file) 77s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 77s different messages (default 1) 77s --substr-needed=MIN omit substring-only terms appearing in less than MIN 77s different messages (default 2) 77s --locs-needed=MIN omit terms appearing in less than MIN different 77s original source files (default 2) 77s --sort=ORDER output sort order(s): frequency, dictionary, length 77s (may repeat option, default is all in above order) 77s --source-language=LANG 77s the source language code (default 'en') 77s -v, --invert invert the source and target languages for terminology 77s ========= SMOKE TEST: /usr/bin/pretranslate =========== 77s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 77s 77s Fill localization files with suggested translations based on translation 77s memory and existing translations. See: 77s http://docs.translatehouse.org/projects/translate- 77s toolkit/en/latest/commands/pretranslate.html for examples and usage 77s instructions. 77s 77s Options: 77s --version show program's version number and exit 77s -h, --help show this help message and exit 77s --manpage output a manpage based on the help 77s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 77s --errorlevel=ERRORLEVEL 77s show errorlevel as: none, message, exception, 77s traceback 77s -i INPUT, --input=INPUT 77s read from INPUT in po, pot, pot, xlf, xliff formats 77s -x EXCLUDE, --exclude=EXCLUDE 77s exclude names matching EXCLUDE from input paths 77s -o OUTPUT, --output=OUTPUT 77s write to OUTPUT in po, pot, xlf, xliff formats 77s -t TEMPLATE, --template=TEMPLATE 77s read from TEMPLATE in po, pot, xlf, xliff formats 77s -S, --timestamp skip conversion if the output file has newer timestamp 77s --tm=TM The file to use as translation memory when fuzzy 77s matching 77s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 77s The minimum similarity for inclusion (default: 75%) 77s --nofuzzymatching Disable fuzzy matching 77s ========= SMOKE TEST: /usr/bin/prop2po =========== 77s 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] 77s 77s Convert Java/Mozilla .properties files to Gettext PO localization files. 77s See: http://docs.translatehouse.org/projects/translate- 77s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 77s 77s Options: 77s --version show program's version number and exit 77s -h, --help show this help message and exit 77s --manpage output a manpage based on the help 77s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 77s --errorlevel=ERRORLEVEL 77s show errorlevel as: none, message, exception, 77s traceback 77s -i INPUT, --input=INPUT 77s read from INPUT in lang, properties, strings formats 77s -x EXCLUDE, --exclude=EXCLUDE 77s exclude names matching EXCLUDE from input paths 77s -o OUTPUT, --output=OUTPUT 77s write to OUTPUT in po, pot formats 77s -t TEMPLATE, --template=TEMPLATE 77s read from TEMPLATE in lang, properties, strings 77s formats 77s -S, --timestamp skip conversion if the output file has newer timestamp 77s -P, --pot output PO Templates (.pot) rather than PO files (.po) 77s --personality=TYPE override the input file format: java, java-utf8, java- 77s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 77s strings, strings-utf8, joomla (for .properties files, 77s default: java) 77s --encoding=ENCODING override the encoding set by the personality 77s --duplicates=DUPLICATESTYLE 77s what to do with duplicate strings (identical source 77s text): merge, msgctxt (default: 'msgctxt') 77s ========= SMOKE TEST: /usr/bin/pydiff =========== 77s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 77s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 77s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 77s fromfile tofile 77s 77s positional arguments: 77s fromfile 77s tofile 77s 77s options: 77s -h, --help show this help message and exit 77s -i, --ignore-case Ignore case differences in file contents. 77s -U, --unified NUM Output NUM (default 3) lines of unified context 77s -r, --recursive Recursively compare any subdirectories found. 77s -N, --new-file Treat absent files as empty. 77s --unidirectional-new-file 77s Treat absent first files as empty. 77s -s, --report-identical-files 77s Report when two files are the same. 77s -x, --exclude PAT Exclude files that match PAT. 77s --fromcontains TEXT Only show changes where fromfile contains TEXT 77s --tocontains TEXT Only show changes where tofile contains TEXT 77s --contains TEXT Only show changes where fromfile or tofile contains 77s TEXT 77s -I, --ignore-case-contains 77s Ignore case differences when matching any of the 77s changes 77s --accelerator ACCELERATORS 77s ignores the given accelerator characters when matching 77s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 77s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 77s 77s Convert Python format .po files to PHP format .po files. 77s 77s Options: 77s --version show program's version number and exit 77s -h, --help show this help message and exit 77s --manpage output a manpage based on the help 77s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 77s --errorlevel=ERRORLEVEL 77s show errorlevel as: none, message, exception, 77s traceback 77s -i INPUT, --input=INPUT 77s read from INPUT in po, pot formats 77s -x EXCLUDE, --exclude=EXCLUDE 77s exclude names matching EXCLUDE from input paths 77s -o OUTPUT, --output=OUTPUT 77s write to OUTPUT in po, pot formats 77s -S, --timestamp skip conversion if the output file has newer timestamp 77s ========= SMOKE TEST: /usr/bin/rc2po =========== 77s 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] 77s 77s Convert Windows RC files to Gettext PO localization files. See: 77s http://docs.translatehouse.org/projects/translate- 77s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 77s 77s Options: 77s --version show program's version number and exit 77s -h, --help show this help message and exit 77s --manpage output a manpage based on the help 77s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 77s --errorlevel=ERRORLEVEL 77s show errorlevel as: none, message, exception, 77s traceback 77s -i INPUT, --input=INPUT 77s read from INPUT in nls, rc formats 77s -x EXCLUDE, --exclude=EXCLUDE 77s exclude names matching EXCLUDE from input paths 77s -o OUTPUT, --output=OUTPUT 77s write to OUTPUT in po, pot formats 77s -t TEMPLATE, --template=TEMPLATE 77s read from TEMPLATE in nls, rc formats 77s -S, --timestamp skip conversion if the output file has newer timestamp 77s -P, --pot output PO Templates (.pot) rather than PO files (.po) 77s --charset=CHARSET charset to use to decode the RC files (autodetection 77s is used by default) 77s -l LANG, --lang=LANG LANG entry (default: None) 77s --sublang=SUBLANG SUBLANG entry (default: None) 77s --duplicates=DUPLICATESTYLE 77s what to do with duplicate strings (identical source 77s text): merge, msgctxt (default: 'msgctxt') 77s ========= SMOKE TEST: /usr/bin/resx2po =========== 78s 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] 78s 78s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 78s http://docs.translatehouse.org/projects/translate- 78s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 78s 78s Options: 78s --version show program's version number and exit 78s -h, --help show this help message and exit 78s --manpage output a manpage based on the help 78s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 78s --errorlevel=ERRORLEVEL 78s show errorlevel as: none, message, exception, 78s traceback 78s -i INPUT, --input=INPUT 78s read from INPUT in resx format 78s -x EXCLUDE, --exclude=EXCLUDE 78s exclude names matching EXCLUDE from input paths 78s -o OUTPUT, --output=OUTPUT 78s write to OUTPUT in po, pot formats 78s -t TEMPLATE, --template=TEMPLATE 78s read from TEMPLATE in resx format 78s -S, --timestamp skip conversion if the output file has newer timestamp 78s -P, --pot output PO Templates (.pot) rather than PO files (.po) 78s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 78s everything) 78s --duplicates=DUPLICATESTYLE 78s what to do with duplicate strings (identical source 78s text): merge, msgctxt (default: 'msgctxt') 78s ========= SMOKE TEST: /usr/bin/sub2po =========== 78s 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] 78s 78s Convert subtitle files to Gettext PO localization files. See: 78s http://docs.translatehouse.org/projects/translate- 78s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 78s 78s Options: 78s --version show program's version number and exit 78s -h, --help show this help message and exit 78s --manpage output a manpage based on the help 78s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 78s --errorlevel=ERRORLEVEL 78s show errorlevel as: none, message, exception, 78s traceback 78s -i INPUT, --input=INPUT 78s read from INPUT in ass, srt, ssa, sub formats 78s -x EXCLUDE, --exclude=EXCLUDE 78s exclude names matching EXCLUDE from input paths 78s -o OUTPUT, --output=OUTPUT 78s write to OUTPUT in po, pot formats 78s -t TEMPLATE, --template=TEMPLATE 78s read from TEMPLATE in ass, srt, ssa, sub formats 78s -S, --timestamp skip conversion if the output file has newer timestamp 78s -P, --pot output PO Templates (.pot) rather than PO files (.po) 78s --duplicates=DUPLICATESTYLE 78s what to do with duplicate strings (identical source 78s text): merge, msgctxt (default: 'msgctxt') 78s ========= SMOKE TEST: /usr/bin/symb2po =========== 78s 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] 78s 78s Convert Symbian localisation files to Gettext PO localization files. See: 78s http://docs.translatehouse.org/projects/translate- 78s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 78s 78s Options: 78s --version show program's version number and exit 78s -h, --help show this help message and exit 78s --manpage output a manpage based on the help 78s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 78s --errorlevel=ERRORLEVEL 78s show errorlevel as: none, message, exception, 78s traceback 78s -i INPUT, --input=INPUT 78s read from INPUT in r01 format 78s -x EXCLUDE, --exclude=EXCLUDE 78s exclude names matching EXCLUDE from input paths 78s -o OUTPUT, --output=OUTPUT 78s write to OUTPUT in po, pot formats 78s -t TEMPLATE, --template=TEMPLATE 78s read from TEMPLATE in 78s -S, --timestamp skip conversion if the output file has newer timestamp 78s -P, --pot output PO Templates (.pot) rather than PO files (.po) 78s --duplicates=DUPLICATESTYLE 78s what to do with duplicate strings (identical source 78s text): merge, msgctxt (default: 'msgctxt') 78s ========= SMOKE TEST: /usr/bin/tbx2po =========== 78s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 78s 78s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 78s http://docs.translatehouse.org/projects/translate- 78s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 78s 78s Options: 78s --version show program's version number and exit 78s -h, --help show this help message and exit 78s --manpage output a manpage based on the help 78s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 78s --errorlevel=ERRORLEVEL 78s show errorlevel as: none, message, exception, 78s traceback 78s -i INPUT, --input=INPUT 78s read from INPUT in tbx format 78s -x EXCLUDE, --exclude=EXCLUDE 78s exclude names matching EXCLUDE from input paths 78s -o OUTPUT, --output=OUTPUT 78s write to OUTPUT in po, pot formats 78s -S, --timestamp skip conversion if the output file has newer timestamp 78s ========= SMOKE TEST: /usr/bin/tiki2po =========== 78s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 78s 78s Convert TikiWiki's language.php files to Gettext PO localization files. See: 78s http://docs.translatehouse.org/projects/translate- 78s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 78s 78s Options: 78s --version show program's version number and exit 78s -h, --help show this help message and exit 78s --manpage output a manpage based on the help 78s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 78s --errorlevel=ERRORLEVEL 78s show errorlevel as: none, message, exception, 78s traceback 78s -i INPUT, --input=INPUT 78s read from INPUT in php format 78s -x EXCLUDE, --exclude=EXCLUDE 78s exclude names matching EXCLUDE from input paths 78s -o OUTPUT, --output=OUTPUT 78s write to OUTPUT in po, pot formats 78s -S, --timestamp skip conversion if the output file has newer timestamp 78s --include-unused Include strings in the unused section 78s ========= SMOKE TEST: /usr/bin/tmserver =========== 78s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 78s [-s SOURCE_LANG] [-b BIND] [-p PORT] 78s [--max-candidates MAX_CANDIDATES] 78s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 78s [--debug] 78s 78s options: 78s -h, --help show this help message and exit 78s -d, --tmdb TMDBFILE translation memory database file 78s -f, --import-translation-file TMFILES 78s translation file to import into the database 78s -t, --import-target-lang TARGET_LANG 78s target language of translation files 78s -s, --import-source-lang SOURCE_LANG 78s source language of translation files 78s -b, --bind BIND address to bind server to (default: localhost) 78s -p, --port PORT port to listen on (default: 8888) 78s --max-candidates MAX_CANDIDATES 78s Maximum number of candidates 78s --min-similarity MIN_SIMILARITY 78s minimum similarity 78s --max-length MAX_LENGTH 78s Maxmimum string length 78s --debug enable debugging features 79s ========= SMOKE TEST: /usr/bin/ts2po =========== 79s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 79s 79s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 79s http://docs.translatehouse.org/projects/translate- 79s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 79s 79s Options: 79s --version show program's version number and exit 79s -h, --help show this help message and exit 79s --manpage output a manpage based on the help 79s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 79s --errorlevel=ERRORLEVEL 79s show errorlevel as: none, message, exception, 79s traceback 79s -i INPUT, --input=INPUT 79s read from INPUT in ts format 79s -x EXCLUDE, --exclude=EXCLUDE 79s exclude names matching EXCLUDE from input paths 79s -o OUTPUT, --output=OUTPUT 79s write to OUTPUT in po, pot formats 79s -S, --timestamp skip conversion if the output file has newer timestamp 79s -P, --pot output PO Templates (.pot) rather than PO files (.po) 79s --duplicates=DUPLICATESTYLE 79s what to do with duplicate strings (identical source 79s text): merge, msgctxt (default: 'msgctxt') 79s ========= SMOKE TEST: /usr/bin/txt2po =========== 79s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 79s 79s Convert plain text (.txt) files to Gettext PO localization files. See: 79s http://docs.translatehouse.org/projects/translate- 79s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 79s 79s Options: 79s --version show program's version number and exit 79s -h, --help show this help message and exit 79s --manpage output a manpage based on the help 79s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 79s --errorlevel=ERRORLEVEL 79s show errorlevel as: none, message, exception, 79s traceback 79s -i INPUT, --input=INPUT 79s read from INPUT in *, txt formats 79s -x EXCLUDE, --exclude=EXCLUDE 79s exclude names matching EXCLUDE from input paths 79s -o OUTPUT, --output=OUTPUT 79s write to OUTPUT in po, pot formats 79s -S, --timestamp skip conversion if the output file has newer timestamp 79s -P, --pot output PO Templates (.pot) rather than PO files (.po) 79s --encoding=ENCODING The encoding of the input file (default: UTF-8) 79s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 79s mediawiki 79s --no-segmentation Don't segment the file, treat it like a single message 79s --duplicates=DUPLICATESTYLE 79s what to do with duplicate strings (identical source 79s text): merge, msgctxt (default: 'msgctxt') 79s ========= SMOKE TEST: /usr/bin/web2py2po =========== 79s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 79s 79s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 79s http://docs.translatehouse.org/projects/translate- 79s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 79s 79s Options: 79s --version show program's version number and exit 79s -h, --help show this help message and exit 79s --manpage output a manpage based on the help 79s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 79s --errorlevel=ERRORLEVEL 79s show errorlevel as: none, message, exception, 79s traceback 79s -i INPUT, --input=INPUT 79s read from INPUT in py format 79s -x EXCLUDE, --exclude=EXCLUDE 79s exclude names matching EXCLUDE from input paths 79s -o OUTPUT, --output=OUTPUT 79s write to OUTPUT in po, pot formats 79s -S, --timestamp skip conversion if the output file has newer timestamp 79s -P, --pot output PO Templates (.pot) rather than PO files (.po) 79s --duplicates=DUPLICATESTYLE 79s what to do with duplicate strings (identical source 79s text): merge, msgctxt (default: 'msgctxt') 79s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 79s Usage: xliff2odf [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 79s 79s Convert XLIFF translation files to OpenDocument (ODF) files. See: 79s http://docs.translatehouse.org/projects/translate- 79s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 79s 79s Options: 79s --version show program's version number and exit 79s -h, --help show this help message and exit 79s --manpage output a manpage based on the help 79s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 79s --errorlevel=ERRORLEVEL 79s show errorlevel as: none, message, exception, 79s traceback 79s -i INPUT, --input=INPUT 79s read from INPUT in xlf format 79s -x EXCLUDE, --exclude=EXCLUDE 79s exclude names matching EXCLUDE from input paths 79s -o OUTPUT, --output=OUTPUT 79s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 79s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 79s -t TEMPLATE, --template=TEMPLATE 79s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 79s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 79s formats 79s -S, --timestamp skip conversion if the output file has newer timestamp 79s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 79s Usage: xliff2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 79s 79s Convert XLIFF localization files to an OpenOffice.org (SDF) localization 79s file. See: http://docs.translatehouse.org/projects/translate- 79s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 79s 79s Options: 79s --version show program's version number and exit 79s -h, --help show this help message and exit 79s --manpage output a manpage based on the help 79s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 79s --errorlevel=ERRORLEVEL 79s show errorlevel as: none, message, exception, 79s traceback 79s -i INPUT, --input=INPUT 79s read from INPUT in po, pot, xlf, xliff formats 79s -x EXCLUDE, --exclude=EXCLUDE 79s exclude names matching EXCLUDE from input paths 79s -o OUTPUT, --output=OUTPUT 79s write to OUTPUT in oo, sdf formats 79s -t TEMPLATE, --template=TEMPLATE 79s read from TEMPLATE in oo, sdf formats 79s -S, --timestamp skip conversion if the output file has newer timestamp 79s -l LANG, --language=LANG 79s set target language code (e.g. af-ZA) [required] 79s --source-language=LANG 79s set source language code (default en-US) 79s -T, --keeptimestamp don't change the timestamps of the strings 79s --nonrecursiveoutput don't treat the output oo as a recursive store 79s --nonrecursivetemplate 79s don't treat the template oo as a recursive store 79s --skipsource don't output the source language, but fallback to it 79s where needed 79s --filteraction=ACTION 79s action on pofilter failure: none (default), warn, 79s exclude-serious, exclude-all 79s --fuzzy use translations marked fuzzy 79s --nofuzzy don't use translations marked fuzzy (default) 79s --multifile=MULTIFILESTYLE 79s how to split po/pot files (single, toplevel or 79s onefile) 79s ========= SMOKE TEST: /usr/bin/xliff2po =========== 79s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 79s 79s Convert XLIFF localization files to Gettext PO localization files. See: 79s http://docs.translatehouse.org/projects/translate- 79s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 79s 79s Options: 79s --version show program's version number and exit 79s -h, --help show this help message and exit 79s --manpage output a manpage based on the help 79s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 79s --errorlevel=ERRORLEVEL 79s show errorlevel as: none, message, exception, 79s traceback 79s -i INPUT, --input=INPUT 79s read from INPUT in xlf, xliff formats 79s -x EXCLUDE, --exclude=EXCLUDE 79s exclude names matching EXCLUDE from input paths 79s -o OUTPUT, --output=OUTPUT 79s write to OUTPUT in po, pot formats 79s -S, --timestamp skip conversion if the output file has newer timestamp 79s -P, --pot output PO Templates (.pot) rather than PO files (.po) 79s --duplicates=DUPLICATESTYLE 79s what to do with duplicate strings (identical source 79s text): merge, msgctxt (default: 'msgctxt') 80s ========= SMOKE TEST: /usr/bin/yaml2po =========== 80s 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] 80s 80s Convert YAML files to Gettext PO localization files. See: 80s http://docs.translatehouse.org/projects/translate- 80s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 80s 80s Options: 80s --version show program's version number and exit 80s -h, --help show this help message and exit 80s --manpage output a manpage based on the help 80s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 80s --errorlevel=ERRORLEVEL 80s show errorlevel as: none, message, exception, 80s traceback 80s -i INPUT, --input=INPUT 80s read from INPUT in yaml, yml formats 80s -x EXCLUDE, --exclude=EXCLUDE 80s exclude names matching EXCLUDE from input paths 80s -o OUTPUT, --output=OUTPUT 80s write to OUTPUT in po, pot formats 80s -t TEMPLATE, --template=TEMPLATE 80s read from TEMPLATE in yaml, yml formats 80s -S, --timestamp skip conversion if the output file has newer timestamp 80s -P, --pot output PO Templates (.pot) rather than PO files (.po) 80s --duplicates=DUPLICATESTYLE 80s what to do with duplicate strings (identical source 80s text): merge, msgctxt (default: 'msgctxt') 80s autopkgtest [08:31:15]: test translate-toolkit: -----------------------] 81s autopkgtest [08:31:16]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 81s translate-toolkit PASS 81s autopkgtest [08:31:16]: test python3-translate: preparing testbed 100s Creating nova instance adt-resolute-amd64-translate-toolkit-20251028-082955-juju-7f2275-prod-proposed-migration-environment-15-3acc1fb2-c3df-4e2c-88ba-5df99294029f from image adt/ubuntu-resolute-amd64-server-20251028.img (UUID 28aec2b7-3bf0-42f3-9f6e-cd514d583c29)... 127s autopkgtest [08:32:02]: testbed dpkg architecture: amd64 127s autopkgtest [08:32:02]: testbed apt version: 3.1.8ubuntu1 127s autopkgtest [08:32:02]: @@@@@@@@@@@@@@@@@@@@ test bed setup 127s autopkgtest [08:32:02]: testbed release detected to be: resolute 128s autopkgtest [08:32:03]: updating testbed package index (apt update) 128s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 128s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 128s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 128s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 128s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [3342 kB] 129s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [216 kB] 129s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [61.7 kB] 129s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5856 B] 129s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main i386 Packages [171 kB] 129s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 Packages [269 kB] 129s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 c-n-f Metadata [2540 B] 129s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/restricted i386 Packages [4212 B] 129s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 Packages [28.6 kB] 129s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 c-n-f Metadata [336 B] 129s Get:15 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 Packages [1098 kB] 129s Get:16 http://ftpmaster.internal/ubuntu resolute-proposed/universe i386 Packages [530 kB] 129s Get:17 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 c-n-f Metadata [10.1 kB] 129s Get:18 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 Packages [7452 B] 129s Get:19 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse i386 Packages [3832 B] 129s Get:20 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 c-n-f Metadata [492 B] 130s Fetched 5837 kB in 1s (4930 kB/s) 130s Reading package lists... 131s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 131s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 131s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 131s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 131s Reading package lists... 131s Reading package lists... 132s Building dependency tree... 132s Reading state information... 132s Calculating upgrade... 132s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 132s autopkgtest [08:32:07]: upgrading testbed (apt dist-upgrade and autopurge) 132s Reading package lists... 132s Building dependency tree... 132s Reading state information... 132s Calculating upgrade... 132s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 132s Reading package lists... 132s Building dependency tree... 132s Reading state information... 133s Solving dependencies... 133s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 135s Reading package lists... 135s Building dependency tree... 135s Reading state information... 135s Solving dependencies... 135s The following NEW packages will be installed: 135s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 135s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 135s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 135s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 135s python3-cheroot python3-cwcwidth python3-dateutil python3-diff-match-patch 135s python3-enchant python3-iniconfig python3-iniparse python3-levenshtein 135s python3-lxml python3-mistletoe python3-packaging python3-phply 135s python3-pluggy python3-ply python3-pycountry python3-pytest python3-pytz 135s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 135s python3-soupsieve python3-syrupy python3-translate python3-vobject 135s python3-xapian subversion 135s 0 upgraded, 46 newly installed, 0 to remove and 0 not upgraded. 135s Need to get 14.3 MB of archives. 135s After this operation, 76.2 MB of additional disk space will be used. 135s Get:1 http://ftpmaster.internal/ubuntu resolute/main amd64 emacsen-common all 3.0.8 [13.9 kB] 135s Get:2 http://ftpmaster.internal/ubuntu resolute/main amd64 dictionaries-common all 1.30.10 [178 kB] 135s Get:3 http://ftpmaster.internal/ubuntu resolute/main amd64 libgomp1 amd64 15.2.0-5ubuntu1 [151 kB] 135s Get:4 http://ftpmaster.internal/ubuntu resolute/main amd64 gettext amd64 0.23.1-2build2 [1043 kB] 135s Get:5 http://ftpmaster.internal/ubuntu resolute/main amd64 hunspell-en-us all 1:2020.12.07-4 [585 kB] 135s Get:6 http://ftpmaster.internal/ubuntu resolute/main amd64 libapr1t64 amd64 1.7.5-1 [116 kB] 135s Get:7 http://ftpmaster.internal/ubuntu resolute/main amd64 libaprutil1t64 amd64 1.6.3-3ubuntu2 [98.5 kB] 135s Get:8 http://ftpmaster.internal/ubuntu resolute/main amd64 libaspell15 amd64 0.60.8.1-4 [353 kB] 135s Get:9 http://ftpmaster.internal/ubuntu resolute/main amd64 libhunspell-1.7-0 amd64 1.7.2+really1.7.2-10build3 [294 kB] 135s Get:10 http://ftpmaster.internal/ubuntu resolute/main amd64 libenchant-2-2 amd64 2.8.2+dfsg1-3 [59.0 kB] 135s Get:11 http://ftpmaster.internal/ubuntu resolute/main amd64 libexttextcat-data all 3.4.7-1ubuntu1 [193 kB] 135s Get:12 http://ftpmaster.internal/ubuntu resolute/universe amd64 libserf-1-1 amd64 1.3.10-3ubuntu1 [48.2 kB] 135s Get:13 http://ftpmaster.internal/ubuntu resolute/universe amd64 libutf8proc3 amd64 2.10.0-2 [71.6 kB] 135s Get:14 http://ftpmaster.internal/ubuntu resolute/universe amd64 libsvn1 amd64 1.14.5-4 [1435 kB] 136s Get:15 http://ftpmaster.internal/ubuntu resolute/universe amd64 libxapian30 amd64 1.4.29-3 [740 kB] 136s Get:16 http://ftpmaster.internal/ubuntu resolute/main amd64 libxslt1.1 amd64 1.1.43-0.3 [172 kB] 136s Get:17 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-aeidon all 1.15-2 [231 kB] 136s Get:18 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-all amd64 3.13.7-1 [884 B] 136s Get:19 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-soupsieve all 2.7-2 [33.6 kB] 136s Get:20 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 python3-bs4 all 4.14.2-1 [82.8 kB] 136s Get:21 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-charset-normalizer amd64 3.4.2-1 [129 kB] 136s Get:22 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-cheroot all 10.0.1+ds1-4 [78.6 kB] 136s Get:23 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-cwcwidth amd64 0.1.10-1build2 [28.0 kB] 136s Get:24 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-dateutil all 2.9.0-4 [80.3 kB] 136s Get:25 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-diff-match-patch all 20241021-1 [33.6 kB] 136s Get:26 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-enchant all 3.3.0~rc1-1 [35.1 kB] 136s Get:27 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-iniconfig all 1.1.1-2 [6024 B] 136s Get:28 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-rapidfuzz amd64 3.12.2+ds-1build1 [2746 kB] 136s Get:29 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-levenshtein amd64 0.27.1-2build1 [145 kB] 136s Get:30 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-lxml amd64 6.0.1-1build1 [2336 kB] 136s Get:31 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-mistletoe all 1.4.0-1 [38.2 kB] 136s Get:32 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-packaging all 25.0-1 [52.8 kB] 136s Get:33 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-ply all 3.11-9 [45.8 kB] 136s Get:34 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-phply all 1.2.6-1 [50.5 kB] 136s Get:35 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pluggy all 1.6.0-1 [21.0 kB] 136s Get:36 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pytest all 8.3.5-2 [252 kB] 136s Get:37 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-pytz all 2025.2-4 [32.3 kB] 136s Get:38 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-ruamel.yaml.clib amd64 0.2.12+ds-1build1 [164 kB] 136s Get:39 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 136s Get:40 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-syrupy all 5.0.0-1 [47.9 kB] 136s Get:41 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-translate all 3.15.1-1 [319 kB] 136s Get:42 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-vobject all 0.9.9+dfsg-1 [41.5 kB] 136s Get:43 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-xapian amd64 1.4.29-1build1 [588 kB] 136s Get:44 http://ftpmaster.internal/ubuntu resolute/universe amd64 subversion amd64 1.14.5-4 [906 kB] 136s Get:45 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-iniparse all 0.5.1-1 [21.2 kB] 136s Get:46 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 136s Preconfiguring packages ... 136s Fetched 14.3 MB in 1s (18.9 MB/s) 136s Selecting previously unselected package emacsen-common. 136s (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 ... 78529 files and directories currently installed.) 136s Preparing to unpack .../00-emacsen-common_3.0.8_all.deb ... 136s Unpacking emacsen-common (3.0.8) ... 136s Selecting previously unselected package dictionaries-common. 136s Preparing to unpack .../01-dictionaries-common_1.30.10_all.deb ... 136s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 136s Unpacking dictionaries-common (1.30.10) ... 136s Selecting previously unselected package libgomp1:amd64. 136s Preparing to unpack .../02-libgomp1_15.2.0-5ubuntu1_amd64.deb ... 136s Unpacking libgomp1:amd64 (15.2.0-5ubuntu1) ... 136s Selecting previously unselected package gettext. 136s Preparing to unpack .../03-gettext_0.23.1-2build2_amd64.deb ... 136s Unpacking gettext (0.23.1-2build2) ... 136s Selecting previously unselected package hunspell-en-us. 136s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-4_all.deb ... 136s Unpacking hunspell-en-us (1:2020.12.07-4) ... 136s Selecting previously unselected package libapr1t64:amd64. 136s Preparing to unpack .../05-libapr1t64_1.7.5-1_amd64.deb ... 136s Unpacking libapr1t64:amd64 (1.7.5-1) ... 136s Selecting previously unselected package libaprutil1t64:amd64. 136s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu2_amd64.deb ... 136s Unpacking libaprutil1t64:amd64 (1.6.3-3ubuntu2) ... 136s Selecting previously unselected package libaspell15:amd64. 136s Preparing to unpack .../07-libaspell15_0.60.8.1-4_amd64.deb ... 136s Unpacking libaspell15:amd64 (0.60.8.1-4) ... 136s Selecting previously unselected package libhunspell-1.7-0:amd64. 136s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_amd64.deb ... 136s Unpacking libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 136s Selecting previously unselected package libenchant-2-2:amd64. 136s Preparing to unpack .../09-libenchant-2-2_2.8.2+dfsg1-3_amd64.deb ... 136s Unpacking libenchant-2-2:amd64 (2.8.2+dfsg1-3) ... 136s Selecting previously unselected package libexttextcat-data. 136s Preparing to unpack .../10-libexttextcat-data_3.4.7-1ubuntu1_all.deb ... 136s Unpacking libexttextcat-data (3.4.7-1ubuntu1) ... 136s Selecting previously unselected package libserf-1-1:amd64. 136s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_amd64.deb ... 136s Unpacking libserf-1-1:amd64 (1.3.10-3ubuntu1) ... 136s Selecting previously unselected package libutf8proc3:amd64. 136s Preparing to unpack .../12-libutf8proc3_2.10.0-2_amd64.deb ... 136s Unpacking libutf8proc3:amd64 (2.10.0-2) ... 137s Selecting previously unselected package libsvn1:amd64. 137s Preparing to unpack .../13-libsvn1_1.14.5-4_amd64.deb ... 137s Unpacking libsvn1:amd64 (1.14.5-4) ... 137s Selecting previously unselected package libxapian30:amd64. 137s Preparing to unpack .../14-libxapian30_1.4.29-3_amd64.deb ... 137s Unpacking libxapian30:amd64 (1.4.29-3) ... 137s Selecting previously unselected package libxslt1.1:amd64. 137s Preparing to unpack .../15-libxslt1.1_1.1.43-0.3_amd64.deb ... 137s Unpacking libxslt1.1:amd64 (1.1.43-0.3) ... 137s Selecting previously unselected package python3-aeidon. 137s Preparing to unpack .../16-python3-aeidon_1.15-2_all.deb ... 137s Unpacking python3-aeidon (1.15-2) ... 137s Selecting previously unselected package python3-all. 137s Preparing to unpack .../17-python3-all_3.13.7-1_amd64.deb ... 137s Unpacking python3-all (3.13.7-1) ... 137s Selecting previously unselected package python3-soupsieve. 137s Preparing to unpack .../18-python3-soupsieve_2.7-2_all.deb ... 137s Unpacking python3-soupsieve (2.7-2) ... 137s Selecting previously unselected package python3-bs4. 137s Preparing to unpack .../19-python3-bs4_4.14.2-1_all.deb ... 137s Unpacking python3-bs4 (4.14.2-1) ... 137s Selecting previously unselected package python3-charset-normalizer. 137s Preparing to unpack .../20-python3-charset-normalizer_3.4.2-1_amd64.deb ... 137s Unpacking python3-charset-normalizer (3.4.2-1) ... 137s Selecting previously unselected package python3-cheroot. 137s Preparing to unpack .../21-python3-cheroot_10.0.1+ds1-4_all.deb ... 137s Unpacking python3-cheroot (10.0.1+ds1-4) ... 137s Selecting previously unselected package python3-cwcwidth. 137s Preparing to unpack .../22-python3-cwcwidth_0.1.10-1build2_amd64.deb ... 137s Unpacking python3-cwcwidth (0.1.10-1build2) ... 137s Selecting previously unselected package python3-dateutil. 137s Preparing to unpack .../23-python3-dateutil_2.9.0-4_all.deb ... 137s Unpacking python3-dateutil (2.9.0-4) ... 137s Selecting previously unselected package python3-diff-match-patch. 137s Preparing to unpack .../24-python3-diff-match-patch_20241021-1_all.deb ... 137s Unpacking python3-diff-match-patch (20241021-1) ... 137s Selecting previously unselected package python3-enchant. 137s Preparing to unpack .../25-python3-enchant_3.3.0~rc1-1_all.deb ... 137s Unpacking python3-enchant (3.3.0~rc1-1) ... 137s Selecting previously unselected package python3-iniconfig. 137s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 137s Unpacking python3-iniconfig (1.1.1-2) ... 137s Selecting previously unselected package python3-rapidfuzz. 137s Preparing to unpack .../27-python3-rapidfuzz_3.12.2+ds-1build1_amd64.deb ... 137s Unpacking python3-rapidfuzz (3.12.2+ds-1build1) ... 137s Selecting previously unselected package python3-levenshtein. 137s Preparing to unpack .../28-python3-levenshtein_0.27.1-2build1_amd64.deb ... 137s Unpacking python3-levenshtein (0.27.1-2build1) ... 137s Selecting previously unselected package python3-lxml:amd64. 137s Preparing to unpack .../29-python3-lxml_6.0.1-1build1_amd64.deb ... 137s Unpacking python3-lxml:amd64 (6.0.1-1build1) ... 137s Selecting previously unselected package python3-mistletoe. 137s Preparing to unpack .../30-python3-mistletoe_1.4.0-1_all.deb ... 137s Unpacking python3-mistletoe (1.4.0-1) ... 137s Selecting previously unselected package python3-packaging. 137s Preparing to unpack .../31-python3-packaging_25.0-1_all.deb ... 137s Unpacking python3-packaging (25.0-1) ... 137s Selecting previously unselected package python3-ply. 137s Preparing to unpack .../32-python3-ply_3.11-9_all.deb ... 137s Unpacking python3-ply (3.11-9) ... 137s Selecting previously unselected package python3-phply. 137s Preparing to unpack .../33-python3-phply_1.2.6-1_all.deb ... 137s Unpacking python3-phply (1.2.6-1) ... 137s Selecting previously unselected package python3-pluggy. 137s Preparing to unpack .../34-python3-pluggy_1.6.0-1_all.deb ... 137s Unpacking python3-pluggy (1.6.0-1) ... 137s Selecting previously unselected package python3-pytest. 137s Preparing to unpack .../35-python3-pytest_8.3.5-2_all.deb ... 137s Unpacking python3-pytest (8.3.5-2) ... 137s Selecting previously unselected package python3-pytz. 137s Preparing to unpack .../36-python3-pytz_2025.2-4_all.deb ... 137s Unpacking python3-pytz (2025.2-4) ... 137s Selecting previously unselected package python3-ruamel.yaml.clib. 137s Preparing to unpack .../37-python3-ruamel.yaml.clib_0.2.12+ds-1build1_amd64.deb ... 137s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 137s Selecting previously unselected package python3-ruamel.yaml. 137s Preparing to unpack .../38-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 137s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 137s Selecting previously unselected package python3-syrupy. 137s Preparing to unpack .../39-python3-syrupy_5.0.0-1_all.deb ... 137s Unpacking python3-syrupy (5.0.0-1) ... 137s Selecting previously unselected package python3-translate. 137s Preparing to unpack .../40-python3-translate_3.15.1-1_all.deb ... 137s Unpacking python3-translate (3.15.1-1) ... 137s Selecting previously unselected package python3-vobject. 137s Preparing to unpack .../41-python3-vobject_0.9.9+dfsg-1_all.deb ... 137s Unpacking python3-vobject (0.9.9+dfsg-1) ... 137s Selecting previously unselected package python3-xapian. 137s Preparing to unpack .../42-python3-xapian_1.4.29-1build1_amd64.deb ... 137s Unpacking python3-xapian (1.4.29-1build1) ... 137s Selecting previously unselected package subversion. 137s Preparing to unpack .../43-subversion_1.14.5-4_amd64.deb ... 137s Unpacking subversion (1.14.5-4) ... 137s Selecting previously unselected package python3-iniparse. 137s Preparing to unpack .../44-python3-iniparse_0.5.1-1_all.deb ... 137s Unpacking python3-iniparse (0.5.1-1) ... 137s Selecting previously unselected package python3-pycountry. 137s Preparing to unpack .../45-python3-pycountry_24.6.1+ds1-1_all.deb ... 137s Unpacking python3-pycountry (24.6.1+ds1-1) ... 137s Setting up python3-iniconfig (1.1.1-2) ... 137s Setting up libxapian30:amd64 (1.4.29-3) ... 137s Setting up python3-rapidfuzz (3.12.2+ds-1build1) ... 137s Setting up python3-diff-match-patch (20241021-1) ... 137s Setting up python3-aeidon (1.15-2) ... 137s Setting up libutf8proc3:amd64 (2.10.0-2) ... 137s Setting up libaspell15:amd64 (0.60.8.1-4) ... 137s Setting up python3-charset-normalizer (3.4.2-1) ... 138s Setting up python3-ply (3.11-9) ... 138s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 138s Setting up python3-all (3.13.7-1) ... 138s Setting up python3-pytz (2025.2-4) ... 138s Setting up libgomp1:amd64 (15.2.0-5ubuntu1) ... 138s Setting up python3-packaging (25.0-1) ... 138s Setting up emacsen-common (3.0.8) ... 138s Setting up python3-cheroot (10.0.1+ds1-4) ... 138s Setting up python3-pycountry (24.6.1+ds1-1) ... 138s Setting up python3-xapian (1.4.29-1build1) ... 138s Setting up python3-cwcwidth (0.1.10-1build2) ... 138s Setting up python3-pluggy (1.6.0-1) ... 138s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 138s Setting up python3-mistletoe (1.4.0-1) ... 138s Setting up libexttextcat-data (3.4.7-1ubuntu1) ... 138s Setting up libapr1t64:amd64 (1.7.5-1) ... 138s Setting up libxslt1.1:amd64 (1.1.43-0.3) ... 138s Setting up python3-dateutil (2.9.0-4) ... 138s Setting up python3-levenshtein (0.27.1-2build1) ... 138s Setting up libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 138s Setting up python3-soupsieve (2.7-2) ... 139s Setting up python3-iniparse (0.5.1-1) ... 139s Setting up libaprutil1t64:amd64 (1.6.3-3ubuntu2) ... 139s Setting up python3-vobject (0.9.9+dfsg-1) ... 139s Setting up gettext (0.23.1-2build2) ... 139s Setting up python3-phply (1.2.6-1) ... 139s Setting up dictionaries-common (1.30.10) ... 139s Setting up python3-pytest (8.3.5-2) ... 139s Setting up python3-syrupy (5.0.0-1) ... 139s Setting up libserf-1-1:amd64 (1.3.10-3ubuntu1) ... 139s Setting up python3-bs4 (4.14.2-1) ... 139s Setting up python3-lxml:amd64 (6.0.1-1build1) ... 139s Setting up hunspell-en-us (1:2020.12.07-4) ... 139s Setting up libsvn1:amd64 (1.14.5-4) ... 139s Setting up libenchant-2-2:amd64 (2.8.2+dfsg1-3) ... 139s Setting up subversion (1.14.5-4) ... 139s Setting up python3-enchant (3.3.0~rc1-1) ... 140s Setting up python3-translate (3.15.1-1) ... 140s Processing triggers for libc-bin (2.42-0ubuntu3) ... 140s Processing triggers for man-db (2.13.1-1) ... 140s Processing triggers for install-info (7.1.1-1ubuntu1) ... 141s Processing triggers for dictionaries-common (1.30.10) ... 147s autopkgtest [08:32:22]: test python3-translate: [----------------------- 147s ============================= test session starts ============================== 147s platform linux -- Python 3.13.9, pytest-8.3.5, pluggy-1.6.0 -- /usr/bin/python3.13 147s cachedir: .pytest_cache 147s rootdir: /tmp/autopkgtest.iE6pSW/autopkgtest_tmp 147s plugins: syrupy-5.0.0, typeguard-4.4.2 150s collecting ... collected 3383 items / 2 skipped 150s 150s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 150s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 150s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 150s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 150s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 150s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 150s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 150s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 150s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 150s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 150s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 150s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 150s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 150s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 150s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 150s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 150s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 150s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 150s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 150s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 150s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 150s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 150s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 150s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 150s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 150s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 150s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 150s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 150s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 150s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 150s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 150s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 150s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 150s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 150s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 150s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 150s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 150s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 150s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 150s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 150s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 150s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 150s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 150s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 150s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 150s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 150s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 150s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 150s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 150s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 150s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 3%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 4%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 150s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 150s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 150s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 150s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 150s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 150s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 150s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 150s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 150s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 150s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 150s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 150s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 6%] 150s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 150s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 150s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 150s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 150s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 150s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 150s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 150s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 150s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 150s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 150s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 150s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 150s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 150s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 150s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 150s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 150s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 150s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 150s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 150s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 150s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 150s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 150s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 150s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 150s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 150s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 150s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 150s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 150s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 150s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 150s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 150s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 150s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 150s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 7%] 150s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 150s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 150s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 150s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 150s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 150s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 150s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 150s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 150s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 150s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 150s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 150s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 150s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 150s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 150s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 150s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 150s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 150s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 150s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 150s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 150s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 150s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 150s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 150s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 150s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 150s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 150s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 150s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 150s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 150s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 150s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 150s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 150s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 150s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 8%] 150s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 150s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 150s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 150s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 150s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 150s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 150s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 150s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 150s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 150s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 150s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 150s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 150s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 150s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 150s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 150s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 150s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 150s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 150s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 150s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 150s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 150s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 150s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 150s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 150s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 150s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 150s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 150s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 150s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 150s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 150s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 150s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 150s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 9%] 150s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 9%] 150s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 150s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 150s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 150s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 150s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 150s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 150s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 150s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 150s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 151s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 151s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 151s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 151s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 151s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 151s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 151s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 151s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 151s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 151s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 151s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 151s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 151s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 151s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 151s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 151s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 151s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 151s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 151s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 151s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 151s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 10%] 151s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 151s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 151s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 10%] 151s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 10%] 151s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 151s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 151s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 151s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 151s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 151s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 151s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 151s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 11%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 12%] 151s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 12%] 151s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 12%] 151s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 12%] 151s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 151s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 151s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 151s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 151s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 151s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 151s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 13%] 151s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 151s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 151s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 151s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 151s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 151s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 151s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 151s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 151s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 14%] 151s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 14%] 151s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 151s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 151s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 15%] 151s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 15%] 151s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 15%] 151s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 151s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 151s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 151s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 151s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 151s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 151s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 151s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 151s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 151s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 151s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 151s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 151s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 151s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 151s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 151s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 151s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 151s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 151s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 151s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 151s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 151s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 151s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 151s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 151s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 151s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 151s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 16%] 151s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 16%] 151s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 151s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 151s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 151s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 16%] 151s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 16%] 151s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 16%] 151s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 151s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 151s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 151s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 151s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 151s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 151s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 151s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 151s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 151s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 151s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 151s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 151s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 151s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 151s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 151s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 151s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 151s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 151s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 151s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 151s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 151s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 151s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 151s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 151s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 151s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 151s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 17%] 151s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 17%] 151s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 17%] 151s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 17%] 151s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 151s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 17%] 151s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 17%] 151s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 151s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 151s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 151s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 151s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 151s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 151s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 151s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 151s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 151s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 151s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 151s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 151s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 151s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 151s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 151s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 151s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 151s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 151s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 151s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 151s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 151s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 151s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 18%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 18%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 18%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 18%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 18%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 18%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 18%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 18%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 19%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 151s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 151s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 151s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 151s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 151s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 151s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 151s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 151s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 151s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 151s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 151s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 151s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 151s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 151s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 20%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 20%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 20%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 20%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 20%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 20%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 20%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 151s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 151s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 151s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 151s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 151s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 21%] 151s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 21%] 151s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 21%] 151s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 21%] 151s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 21%] 151s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 21%] 151s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 21%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 21%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 21%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 151s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 151s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 22%] 151s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 22%] 151s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 22%] 151s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 22%] 151s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 22%] 151s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 22%] 151s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 22%] 151s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 22%] 151s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 22%] 151s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 151s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 151s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 151s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 151s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 151s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 151s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 151s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 151s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 151s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 151s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 151s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 151s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 151s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 151s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 151s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 151s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 151s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 151s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 151s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 151s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 151s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 151s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 151s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 151s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 23%] 151s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 23%] 151s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 23%] 151s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 23%] 151s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 23%] 151s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 23%] 151s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 23%] 151s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 23%] 151s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 23%] 151s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 151s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 151s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 151s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 151s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 151s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 151s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 151s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 151s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 151s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 151s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 151s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 151s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 151s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 151s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 151s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 151s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 151s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 151s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 151s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 151s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 151s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 151s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 151s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 151s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 24%] 151s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 24%] 151s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 24%] 151s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 24%] 151s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 24%] 151s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 24%] 151s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 24%] 151s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 24%] 151s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 24%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 24%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 25%] 151s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 151s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 151s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 151s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 151s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 151s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 151s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 151s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 151s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 151s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 151s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 151s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 152s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 152s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 152s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 152s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 152s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 152s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 152s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 152s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 152s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 152s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 152s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 152s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 26%] 152s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 26%] 152s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 26%] 152s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 26%] 152s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 26%] 152s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 26%] 152s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 26%] 152s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 152s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 26%] 152s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 26%] 152s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 26%] 152s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 152s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 152s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 27%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 152s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 152s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 152s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 152s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 152s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 152s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 152s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 152s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 152s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 152s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 28%] 152s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 28%] 152s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 28%] 152s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 28%] 152s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 28%] 152s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 28%] 152s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 28%] 152s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 28%] 152s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 28%] 152s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 28%] 152s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 28%] 152s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 28%] 152s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 152s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 152s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 152s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 152s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 152s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 152s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 152s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 152s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 152s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 152s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 152s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 152s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 152s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 152s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 152s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 152s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 152s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 152s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 152s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 152s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 152s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 29%] 152s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 29%] 152s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 29%] 152s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 29%] 152s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 29%] 152s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 29%] 152s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 29%] 152s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 29%] 152s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 29%] 152s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 29%] 152s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 29%] 152s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 29%] 152s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 152s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 152s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 152s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 152s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 152s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 152s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 152s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 152s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 152s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 152s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 152s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 152s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 152s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 152s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 152s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 152s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 152s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 152s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 152s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 152s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 152s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 152s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 30%] 152s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 30%] 152s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 30%] 152s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 30%] 152s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 30%] 152s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 30%] 152s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 30%] 152s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 30%] 152s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 30%] 152s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 30%] 152s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 30%] 152s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 30%] 152s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 152s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 152s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 152s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 152s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 152s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 152s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 152s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 152s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 152s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 152s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 152s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 152s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 152s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 152s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 152s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 152s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 152s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 152s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 152s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 152s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 152s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 31%] 152s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 31%] 152s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 31%] 152s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 31%] 152s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 31%] 152s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 31%] 152s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 31%] 152s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 31%] 152s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 31%] 152s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 31%] 152s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 31%] 152s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 31%] 152s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 31%] 152s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 152s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_long PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 32%] 152s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_numbers PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_options PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_printf PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 32%] 152s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 152s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 152s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 33%] 152s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_functions PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_emails PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_urls PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_credits PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_gconf PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_validxml PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 33%] 152s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 152s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 152s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 152s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 152s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 152s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 152s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 152s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 152s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 152s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 152s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 152s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 34%] 152s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 35%] 152s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 152s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 152s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 152s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 152s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 152s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 152s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 152s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 152s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 152s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 152s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 152s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 152s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 152s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 152s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 152s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 152s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 152s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 152s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 152s tests/translate/lang/test_common.py::test_alter_length PASSED [ 36%] 152s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 36%] 152s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 36%] 152s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 36%] 152s tests/translate/lang/test_el.py::test_sentences PASSED [ 36%] 152s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 36%] 152s tests/translate/lang/test_es.py::test_sentences PASSED [ 36%] 152s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 36%] 152s tests/translate/lang/test_fa.py::test_sentences PASSED [ 36%] 152s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 36%] 152s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 36%] 152s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 36%] 152s tests/translate/lang/test_fr.py::test_sentences PASSED [ 36%] 152s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 36%] 152s tests/translate/lang/test_hy.py::test_sentences PASSED [ 36%] 152s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 152s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 152s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 152s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 152s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 152s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 152s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 152s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 152s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 152s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 152s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 152s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 152s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 152s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 152s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 152s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 152s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 152s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 152s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 152s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 37%] 152s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 37%] 152s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 37%] 152s tests/translate/lang/test_team.py::test_simple PASSED [ 37%] 152s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 37%] 152s tests/translate/lang/test_th.py::test_sentences PASSED [ 37%] 152s tests/translate/lang/test_tr.py::test_sentences PASSED [ 37%] 152s tests/translate/lang/test_uk.py::test_sentences PASSED [ 37%] 152s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 37%] 152s tests/translate/lang/test_vi.py::test_sentences PASSED [ 37%] 152s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 37%] 152s tests/translate/lang/test_zh.py::test_sentences PASSED [ 37%] 152s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 37%] 152s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 37%] 152s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 37%] 152s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 152s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 38%] 152s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 152s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 152s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 152s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 152s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 152s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 152s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 152s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 152s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 152s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 152s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 152s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 152s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 152s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 152s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 152s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 152s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 152s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 38%] 152s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 38%] 152s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 38%] 152s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 38%] 152s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 38%] 152s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 38%] 152s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 38%] 152s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 38%] 152s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 38%] 152s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 38%] 152s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 38%] 152s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 38%] 152s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 38%] 152s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 38%] 152s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 38%] 152s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 152s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 152s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 152s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 152s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 152s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 152s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 152s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 152s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 152s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 153s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 39%] 153s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 153s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 153s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 153s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 153s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 153s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 153s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 153s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 153s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 153s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 153s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 153s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 153s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 153s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 153s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 153s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 153s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 153s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 153s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 40%] 153s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 40%] 153s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 40%] 153s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 40%] 153s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 40%] 153s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 40%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 42%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 44%] 153s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 153s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 153s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 153s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 153s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 153s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 153s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 153s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 153s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 153s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 153s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 153s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 153s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 153s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 153s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 153s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 153s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 153s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 153s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 153s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 153s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 153s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 153s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 45%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 45%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 45%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 45%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 45%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 45%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 153s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 153s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 153s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 153s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 153s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 153s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 153s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 153s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 153s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 153s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 46%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 46%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 46%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 46%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 46%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 46%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 153s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding_save PASSED [ 47%] 153s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 153s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 153s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 153s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 153s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 153s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 153s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 153s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 153s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 153s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 153s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 153s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 153s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 153s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 153s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 47%] 153s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 47%] 153s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 47%] 153s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 47%] 153s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 47%] 153s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 47%] 153s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 48%] 153s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 153s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 153s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 153s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 153s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 153s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 153s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 153s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 153s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 153s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 153s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 153s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 153s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 153s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 153s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 153s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 153s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 153s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 153s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 153s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 153s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 153s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 153s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 153s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 153s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 153s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 153s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 153s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 49%] 153s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 49%] 153s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 49%] 153s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 49%] 153s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 49%] 153s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 49%] 153s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 153s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 153s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 153s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 153s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 153s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 153s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 153s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 153s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 153s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 153s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 153s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 153s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 153s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 153s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 153s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 153s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 153s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 153s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 153s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 153s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 153s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 153s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 153s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 153s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 153s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 153s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 153s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 153s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 153s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 153s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 153s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 153s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 153s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 153s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 51%] 153s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 51%] 153s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 51%] 153s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 51%] 153s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 153s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 153s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 153s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 153s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_comments PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 54%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 56%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 57%] 153s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 153s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 153s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 153s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 153s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 153s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 153s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 58%] 153s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_invalid_nesting PASSED [ 58%] 153s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 153s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 153s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 153s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 153s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 153s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 153s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 153s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 153s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 153s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 153s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 153s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 153s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 153s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 58%] 153s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_invalid PASSED [ 58%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 58%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 58%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 58%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 58%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 153s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 153s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 153s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 153s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 59%] 153s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 59%] 153s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 59%] 153s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 59%] 153s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 59%] 153s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 153s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 153s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 153s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 153s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 153s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 153s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 153s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 153s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 153s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 153s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 153s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 153s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 153s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 153s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 153s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 153s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 153s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 60%] 153s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 153s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 153s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 153s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 153s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 153s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 153s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 153s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 153s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 153s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 153s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 153s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 60%] 153s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 60%] 153s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 60%] 153s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 60%] 153s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 60%] 153s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 153s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 153s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 153s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 153s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 153s 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%] 153s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 61%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 153s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 153s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 153s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 153s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 153s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 153s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 153s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 62%] 153s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 62%] 153s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 62%] 153s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 62%] 153s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 62%] 153s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 62%] 153s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 153s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 153s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 153s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 153s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 153s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 153s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 153s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 153s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 153s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 153s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 153s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 153s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 153s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 153s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 153s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 153s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 153s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 153s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 153s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 153s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 153s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 153s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 153s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 153s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 153s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 153s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 153s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 153s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 63%] 153s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 63%] 153s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 63%] 153s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 63%] 153s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 63%] 153s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 63%] 153s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 153s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 153s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 153s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 153s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 153s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 153s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 153s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 153s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 153s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 153s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 153s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 153s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 153s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 153s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 153s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 153s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 64%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 64%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 64%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 64%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 64%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 64%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 64%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 65%] 154s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 154s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 154s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 154s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 154s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 154s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 154s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 154s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 154s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 154s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 154s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 154s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 154s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 154s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 154s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 154s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 154s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 154s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 154s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 154s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 154s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 154s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 154s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 154s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 154s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 154s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 154s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 154s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 154s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 66%] 154s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 66%] 154s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 66%] 154s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 66%] 154s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 66%] 154s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 66%] 154s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 67%] 154s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 68%] 154s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 154s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 154s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 154s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 154s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 154s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 154s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 154s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 154s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 154s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 154s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 154s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 154s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 69%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 69%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 69%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 69%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 69%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 69%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 69%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 70%] 154s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 70%] 154s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 154s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 154s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 154s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 154s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 154s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 154s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 154s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 154s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 154s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 71%] 154s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 72%] 154s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 73%] 154s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 74%] 154s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 154s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 154s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 154s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 154s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 154s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 154s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 154s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 154s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 154s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 154s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 154s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 154s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 154s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 154s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 154s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 75%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 75%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 75%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 75%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 75%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 75%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 75%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 75%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 76%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 77%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 78%] 154s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 78%] 154s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 78%] 154s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 78%] 154s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 78%] 154s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 154s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 154s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 154s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 154s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 154s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 154s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 154s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 154s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 154s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 154s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 154s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 154s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 154s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 154s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 154s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 154s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 154s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 154s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 154s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 154s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 154s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 154s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 154s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 154s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 154s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 154s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 79%] 154s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 79%] 154s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 79%] 154s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 79%] 154s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 79%] 154s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 79%] 154s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 79%] 154s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 79%] 154s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 154s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 154s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 154s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 154s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 154s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 154s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 154s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 154s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 154s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 155s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 155s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 155s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 155s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 155s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 155s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 155s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 155s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 155s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 155s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 155s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 155s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 155s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 155s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 155s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 155s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 155s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 80%] 155s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 80%] 155s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 80%] 155s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 80%] 155s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 80%] 155s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 80%] 155s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 80%] 155s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 80%] 155s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 155s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 155s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 155s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 155s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 155s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 155s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 155s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 155s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 155s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 155s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 155s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 155s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 155s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 155s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 155s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 155s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 155s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 155s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 155s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 155s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 155s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 155s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 155s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 155s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 155s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 81%] 155s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 81%] 155s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 81%] 155s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 81%] 155s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 81%] 155s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 81%] 155s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 81%] 155s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 81%] 155s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 81%] 155s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 155s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 155s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 155s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 155s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 155s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 155s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 155s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 155s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 155s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 155s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 155s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 155s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 155s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 155s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 155s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 155s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 82%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 82%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 82%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 82%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 82%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 82%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 82%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 82%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 155s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 155s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 155s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 155s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 83%] 155s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 83%] 155s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 83%] 155s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 83%] 155s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 83%] 155s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 83%] 155s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 83%] 155s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 83%] 155s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 83%] 155s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 83%] 155s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_ordering PASSED [ 83%] 155s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create_blank PASSED [ 83%] 155s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_add PASSED [ 83%] 155s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_remove PASSED [ 83%] 155s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_find PASSED [ 83%] 155s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_parse PASSED [ 83%] 155s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_files PASSED [ 83%] 155s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_save PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_extensions PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_mimetypes PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_translate PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_markup PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_nonascii PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_ordering PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 84%] 155s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_ordering PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_ordering PASSED [ 84%] 155s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 85%] 155s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 85%] 155s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 85%] 155s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 155s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 155s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 155s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 155s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 155s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 155s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 155s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 155s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 155s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_ordering PASSED [ 85%] 155s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 155s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 155s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 155s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 155s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 155s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 155s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 155s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 155s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 155s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 155s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 155s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 155s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 155s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 155s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 155s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 155s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 155s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 155s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 155s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 155s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 155s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 86%] 155s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 86%] 155s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 86%] 155s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 86%] 155s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 155s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 155s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 155s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 155s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 155s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 155s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 155s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 155s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 155s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 155s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 155s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 155s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 155s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 155s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 155s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 155s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 155s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 155s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 155s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 155s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 155s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 155s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 155s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 155s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 155s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 155s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 155s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 155s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 155s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 155s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 87%] 155s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 87%] 155s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 87%] 155s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 155s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 155s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 155s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 155s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 155s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 155s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 155s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 155s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 155s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 155s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 155s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 155s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 155s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 155s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 155s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 155s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 155s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 155s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 155s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 155s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 155s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 155s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 88%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 88%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 88%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 155s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 155s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 155s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 155s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 155s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 155s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 155s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 155s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 155s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 155s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 155s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 155s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 155s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 155s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 155s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 89%] 155s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 89%] 155s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 89%] 155s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 155s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 155s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 155s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 155s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 155s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 155s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 155s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 155s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 155s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 155s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 155s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 155s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 155s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 155s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 155s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 155s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 155s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 155s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 155s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 155s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 155s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 155s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 155s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 155s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 155s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 155s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 155s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 155s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 155s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 155s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 155s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 155s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 155s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 155s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 155s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 155s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 155s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 155s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 155s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 155s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 155s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 155s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 92%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 155s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 92%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 93%] 155s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 155s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 155s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 155s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 155s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 155s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 155s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 155s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 155s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 155s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 155s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 155s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 155s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_blank PASSED [ 94%] 155s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_partial PASSED [ 94%] 155s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 155s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 155s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 155s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 155s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 155s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 155s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 155s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 155s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 155s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 155s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 155s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 155s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 155s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 155s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 155s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 155s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 155s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 155s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 155s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 95%] 155s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 95%] 155s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 95%] 155s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 155s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 155s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 155s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 155s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 155s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 155s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 155s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 155s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 155s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 155s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 155s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 155s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 155s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 155s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 155s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 155s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 155s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 155s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 155s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 155s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 155s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 155s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 155s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 155s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 155s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 155s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 155s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 155s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 155s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 155s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 155s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 96%] 155s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 155s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 155s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 155s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 155s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 155s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 155s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 155s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 155s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 155s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 155s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 155s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 155s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 155s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 155s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 155s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 155s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 155s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 155s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 156s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 156s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 156s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 156s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 156s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 156s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 156s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 156s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 156s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 156s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 156s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 156s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 156s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 156s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 156s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 156s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 156s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 156s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 156s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 156s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 156s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 156s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 156s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 156s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 156s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 156s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 156s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 156s 156s =============================== warnings summary =============================== 156s tests/translate/storage/test_cpo.py:15 156s Warning: 156s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 156s ImportError('gettext PO library not found') 156s In pytest 9.1 this warning will become an error by default. 156s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 156s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 156s 156s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 156s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.iE6pSW/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 156s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 156s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 156s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 156s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 156s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 156s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 156s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 156s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 156s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 156s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 156s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 156s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 156s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 156s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 156s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 156s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 156s Warning: Could not find accesskey for key.accesskey 156s 156s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 156s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 156s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 156s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 156s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 156s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.iE6pSW/autopkgtest_tmp/tests/translate/convert/test.idml'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 156s Warning: unclosed file <_io.BufferedReader name='translation.po'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 156s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 156s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 156s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 156s Warning: Could not find accesskey for prop.accesskey 156s 156s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 156s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 156s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 156s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 156s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 156s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 156s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 156s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 156s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 156s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 156s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 156s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.iE6pSW/autopkgtest_tmp/tests/translate/convert/test.odt'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 156s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 156s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 156s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 156s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 156s Enable tracemalloc to get traceback where the object was allocated. 156s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 156s 156s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 156s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 156s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 156s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 156s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 156s 156s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 156s Warning: DTD parse error: :1:35:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 156s 156s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 156s Warning: DTD file '' does not validate 156s 156s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 156s --------------------------- snapshot report summary ---------------------------- 156s 23 snapshots passed. 156s =========================== short test summary info ============================ 156s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 156s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 156s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 156s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 156s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 156s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 156s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 156s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 156s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 156s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 156s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 156s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 156s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 156s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 156s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 156s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 156s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 156s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 156s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 156s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 156s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 156s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 156s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 156s 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. 156s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 156s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 156s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 156s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 156s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 156s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 156s 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 156s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 156s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 156s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 156s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 156s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 156s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 156s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 156s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 156s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 156s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 156s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 156s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 156s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 156s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 156s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 156s ========== 3324 passed, 22 skipped, 39 xfailed, 50 warnings in 8.87s =========== 157s autopkgtest [08:32:32]: test python3-translate: -----------------------] 157s autopkgtest [08:32:32]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 157s python3-translate PASS 157s autopkgtest [08:32:32]: test python3-translate-commands: preparing testbed 176s Creating nova instance adt-resolute-amd64-translate-toolkit-20251028-082955-juju-7f2275-prod-proposed-migration-environment-15-3acc1fb2-c3df-4e2c-88ba-5df99294029f from image adt/ubuntu-resolute-amd64-server-20251028.img (UUID 28aec2b7-3bf0-42f3-9f6e-cd514d583c29)... 204s autopkgtest [08:33:19]: testbed dpkg architecture: amd64 204s autopkgtest [08:33:19]: testbed apt version: 3.1.8ubuntu1 204s autopkgtest [08:33:19]: @@@@@@@@@@@@@@@@@@@@ test bed setup 204s autopkgtest [08:33:19]: testbed release detected to be: resolute 205s autopkgtest [08:33:20]: updating testbed package index (apt update) 205s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 205s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 205s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 205s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 205s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5856 B] 205s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [61.7 kB] 206s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [216 kB] 206s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [3342 kB] 207s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 Packages [269 kB] 207s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main i386 Packages [171 kB] 207s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 c-n-f Metadata [2540 B] 207s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 Packages [28.6 kB] 207s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/restricted i386 Packages [4212 B] 207s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 c-n-f Metadata [336 B] 207s Get:15 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 Packages [1098 kB] 207s Get:16 http://ftpmaster.internal/ubuntu resolute-proposed/universe i386 Packages [530 kB] 207s Get:17 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 c-n-f Metadata [10.1 kB] 207s Get:18 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 Packages [7452 B] 207s Get:19 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse i386 Packages [3832 B] 207s Get:20 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 c-n-f Metadata [492 B] 208s Fetched 5837 kB in 2s (2961 kB/s) 208s Reading package lists... 209s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 209s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 209s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 209s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 209s Reading package lists... 209s Reading package lists... 209s Building dependency tree... 209s Reading state information... 210s Calculating upgrade... 210s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 210s autopkgtest [08:33:25]: upgrading testbed (apt dist-upgrade and autopurge) 210s Reading package lists... 210s Building dependency tree... 210s Reading state information... 210s Calculating upgrade... 210s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 210s Reading package lists... 210s Building dependency tree... 210s Reading state information... 210s Solving dependencies... 211s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 213s Reading package lists... 213s Building dependency tree... 213s Reading state information... 213s Solving dependencies... 213s The following NEW packages will be installed: 213s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 213s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 213s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 213s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 213s python3-cheroot python3-cwcwidth python3-dateutil python3-diff-match-patch 213s python3-enchant python3-iniconfig python3-iniparse python3-levenshtein 213s python3-lxml python3-mistletoe python3-packaging python3-phply 213s python3-pluggy python3-ply python3-pycountry python3-pytest python3-pytz 213s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 213s python3-soupsieve python3-syrupy python3-translate python3-vobject 213s python3-wcwidth python3-xapian subversion translate-toolkit 213s 0 upgraded, 48 newly installed, 0 to remove and 0 not upgraded. 213s Need to get 14.4 MB of archives. 213s After this operation, 77.1 MB of additional disk space will be used. 213s Get:1 http://ftpmaster.internal/ubuntu resolute/main amd64 emacsen-common all 3.0.8 [13.9 kB] 213s Get:2 http://ftpmaster.internal/ubuntu resolute/main amd64 dictionaries-common all 1.30.10 [178 kB] 213s Get:3 http://ftpmaster.internal/ubuntu resolute/main amd64 libgomp1 amd64 15.2.0-5ubuntu1 [151 kB] 213s Get:4 http://ftpmaster.internal/ubuntu resolute/main amd64 gettext amd64 0.23.1-2build2 [1043 kB] 213s Get:5 http://ftpmaster.internal/ubuntu resolute/main amd64 hunspell-en-us all 1:2020.12.07-4 [585 kB] 213s Get:6 http://ftpmaster.internal/ubuntu resolute/main amd64 libapr1t64 amd64 1.7.5-1 [116 kB] 213s Get:7 http://ftpmaster.internal/ubuntu resolute/main amd64 libaprutil1t64 amd64 1.6.3-3ubuntu2 [98.5 kB] 213s Get:8 http://ftpmaster.internal/ubuntu resolute/main amd64 libaspell15 amd64 0.60.8.1-4 [353 kB] 213s Get:9 http://ftpmaster.internal/ubuntu resolute/main amd64 libhunspell-1.7-0 amd64 1.7.2+really1.7.2-10build3 [294 kB] 214s Get:10 http://ftpmaster.internal/ubuntu resolute/main amd64 libenchant-2-2 amd64 2.8.2+dfsg1-3 [59.0 kB] 214s Get:11 http://ftpmaster.internal/ubuntu resolute/main amd64 libexttextcat-data all 3.4.7-1ubuntu1 [193 kB] 214s Get:12 http://ftpmaster.internal/ubuntu resolute/universe amd64 libserf-1-1 amd64 1.3.10-3ubuntu1 [48.2 kB] 214s Get:13 http://ftpmaster.internal/ubuntu resolute/universe amd64 libutf8proc3 amd64 2.10.0-2 [71.6 kB] 214s Get:14 http://ftpmaster.internal/ubuntu resolute/universe amd64 libsvn1 amd64 1.14.5-4 [1435 kB] 214s Get:15 http://ftpmaster.internal/ubuntu resolute/universe amd64 libxapian30 amd64 1.4.29-3 [740 kB] 214s Get:16 http://ftpmaster.internal/ubuntu resolute/main amd64 libxslt1.1 amd64 1.1.43-0.3 [172 kB] 214s Get:17 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-aeidon all 1.15-2 [231 kB] 214s Get:18 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-all amd64 3.13.7-1 [884 B] 214s Get:19 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-soupsieve all 2.7-2 [33.6 kB] 214s Get:20 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 python3-bs4 all 4.14.2-1 [82.8 kB] 214s Get:21 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-charset-normalizer amd64 3.4.2-1 [129 kB] 214s Get:22 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-cheroot all 10.0.1+ds1-4 [78.6 kB] 214s Get:23 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-cwcwidth amd64 0.1.10-1build2 [28.0 kB] 214s Get:24 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-dateutil all 2.9.0-4 [80.3 kB] 214s Get:25 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-diff-match-patch all 20241021-1 [33.6 kB] 214s Get:26 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-enchant all 3.3.0~rc1-1 [35.1 kB] 214s Get:27 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-iniconfig all 1.1.1-2 [6024 B] 214s Get:28 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-rapidfuzz amd64 3.12.2+ds-1build1 [2746 kB] 214s Get:29 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-levenshtein amd64 0.27.1-2build1 [145 kB] 214s Get:30 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-lxml amd64 6.0.1-1build1 [2336 kB] 214s Get:31 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-mistletoe all 1.4.0-1 [38.2 kB] 214s Get:32 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-packaging all 25.0-1 [52.8 kB] 214s Get:33 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-ply all 3.11-9 [45.8 kB] 214s Get:34 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-phply all 1.2.6-1 [50.5 kB] 214s Get:35 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pluggy all 1.6.0-1 [21.0 kB] 214s Get:36 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pytest all 8.3.5-2 [252 kB] 214s Get:37 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-pytz all 2025.2-4 [32.3 kB] 214s Get:38 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-ruamel.yaml.clib amd64 0.2.12+ds-1build1 [164 kB] 214s Get:39 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 214s Get:40 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-syrupy all 5.0.0-1 [47.9 kB] 214s Get:41 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-translate all 3.15.1-1 [319 kB] 214s Get:42 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-vobject all 0.9.9+dfsg-1 [41.5 kB] 214s Get:43 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 214s Get:44 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-xapian amd64 1.4.29-1build1 [588 kB] 214s Get:45 http://ftpmaster.internal/ubuntu resolute/universe amd64 subversion amd64 1.14.5-4 [906 kB] 214s Get:46 http://ftpmaster.internal/ubuntu resolute/universe amd64 translate-toolkit all 3.15.1-1 [81.0 kB] 214s Get:47 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-iniparse all 0.5.1-1 [21.2 kB] 214s Get:48 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 215s Preconfiguring packages ... 215s Fetched 14.4 MB in 1s (11.2 MB/s) 215s Selecting previously unselected package emacsen-common. 215s (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 ... 78529 files and directories currently installed.) 215s Preparing to unpack .../00-emacsen-common_3.0.8_all.deb ... 215s Unpacking emacsen-common (3.0.8) ... 215s Selecting previously unselected package dictionaries-common. 215s Preparing to unpack .../01-dictionaries-common_1.30.10_all.deb ... 215s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 215s Unpacking dictionaries-common (1.30.10) ... 215s Selecting previously unselected package libgomp1:amd64. 215s Preparing to unpack .../02-libgomp1_15.2.0-5ubuntu1_amd64.deb ... 215s Unpacking libgomp1:amd64 (15.2.0-5ubuntu1) ... 215s Selecting previously unselected package gettext. 215s Preparing to unpack .../03-gettext_0.23.1-2build2_amd64.deb ... 215s Unpacking gettext (0.23.1-2build2) ... 215s Selecting previously unselected package hunspell-en-us. 215s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-4_all.deb ... 215s Unpacking hunspell-en-us (1:2020.12.07-4) ... 215s Selecting previously unselected package libapr1t64:amd64. 215s Preparing to unpack .../05-libapr1t64_1.7.5-1_amd64.deb ... 215s Unpacking libapr1t64:amd64 (1.7.5-1) ... 215s Selecting previously unselected package libaprutil1t64:amd64. 215s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu2_amd64.deb ... 215s Unpacking libaprutil1t64:amd64 (1.6.3-3ubuntu2) ... 215s Selecting previously unselected package libaspell15:amd64. 215s Preparing to unpack .../07-libaspell15_0.60.8.1-4_amd64.deb ... 215s Unpacking libaspell15:amd64 (0.60.8.1-4) ... 215s Selecting previously unselected package libhunspell-1.7-0:amd64. 215s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_amd64.deb ... 215s Unpacking libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 215s Selecting previously unselected package libenchant-2-2:amd64. 215s Preparing to unpack .../09-libenchant-2-2_2.8.2+dfsg1-3_amd64.deb ... 215s Unpacking libenchant-2-2:amd64 (2.8.2+dfsg1-3) ... 215s Selecting previously unselected package libexttextcat-data. 215s Preparing to unpack .../10-libexttextcat-data_3.4.7-1ubuntu1_all.deb ... 215s Unpacking libexttextcat-data (3.4.7-1ubuntu1) ... 215s Selecting previously unselected package libserf-1-1:amd64. 215s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_amd64.deb ... 215s Unpacking libserf-1-1:amd64 (1.3.10-3ubuntu1) ... 215s Selecting previously unselected package libutf8proc3:amd64. 215s Preparing to unpack .../12-libutf8proc3_2.10.0-2_amd64.deb ... 215s Unpacking libutf8proc3:amd64 (2.10.0-2) ... 215s Selecting previously unselected package libsvn1:amd64. 215s Preparing to unpack .../13-libsvn1_1.14.5-4_amd64.deb ... 215s Unpacking libsvn1:amd64 (1.14.5-4) ... 215s Selecting previously unselected package libxapian30:amd64. 215s Preparing to unpack .../14-libxapian30_1.4.29-3_amd64.deb ... 215s Unpacking libxapian30:amd64 (1.4.29-3) ... 215s Selecting previously unselected package libxslt1.1:amd64. 215s Preparing to unpack .../15-libxslt1.1_1.1.43-0.3_amd64.deb ... 215s Unpacking libxslt1.1:amd64 (1.1.43-0.3) ... 215s Selecting previously unselected package python3-aeidon. 215s Preparing to unpack .../16-python3-aeidon_1.15-2_all.deb ... 215s Unpacking python3-aeidon (1.15-2) ... 215s Selecting previously unselected package python3-all. 215s Preparing to unpack .../17-python3-all_3.13.7-1_amd64.deb ... 215s Unpacking python3-all (3.13.7-1) ... 215s Selecting previously unselected package python3-soupsieve. 215s Preparing to unpack .../18-python3-soupsieve_2.7-2_all.deb ... 215s Unpacking python3-soupsieve (2.7-2) ... 215s Selecting previously unselected package python3-bs4. 215s Preparing to unpack .../19-python3-bs4_4.14.2-1_all.deb ... 215s Unpacking python3-bs4 (4.14.2-1) ... 215s Selecting previously unselected package python3-charset-normalizer. 215s Preparing to unpack .../20-python3-charset-normalizer_3.4.2-1_amd64.deb ... 215s Unpacking python3-charset-normalizer (3.4.2-1) ... 215s Selecting previously unselected package python3-cheroot. 215s Preparing to unpack .../21-python3-cheroot_10.0.1+ds1-4_all.deb ... 215s Unpacking python3-cheroot (10.0.1+ds1-4) ... 215s Selecting previously unselected package python3-cwcwidth. 215s Preparing to unpack .../22-python3-cwcwidth_0.1.10-1build2_amd64.deb ... 215s Unpacking python3-cwcwidth (0.1.10-1build2) ... 215s Selecting previously unselected package python3-dateutil. 215s Preparing to unpack .../23-python3-dateutil_2.9.0-4_all.deb ... 215s Unpacking python3-dateutil (2.9.0-4) ... 215s Selecting previously unselected package python3-diff-match-patch. 215s Preparing to unpack .../24-python3-diff-match-patch_20241021-1_all.deb ... 215s Unpacking python3-diff-match-patch (20241021-1) ... 215s Selecting previously unselected package python3-enchant. 215s Preparing to unpack .../25-python3-enchant_3.3.0~rc1-1_all.deb ... 215s Unpacking python3-enchant (3.3.0~rc1-1) ... 215s Selecting previously unselected package python3-iniconfig. 215s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 215s Unpacking python3-iniconfig (1.1.1-2) ... 215s Selecting previously unselected package python3-rapidfuzz. 215s Preparing to unpack .../27-python3-rapidfuzz_3.12.2+ds-1build1_amd64.deb ... 215s Unpacking python3-rapidfuzz (3.12.2+ds-1build1) ... 215s Selecting previously unselected package python3-levenshtein. 215s Preparing to unpack .../28-python3-levenshtein_0.27.1-2build1_amd64.deb ... 215s Unpacking python3-levenshtein (0.27.1-2build1) ... 215s Selecting previously unselected package python3-lxml:amd64. 215s Preparing to unpack .../29-python3-lxml_6.0.1-1build1_amd64.deb ... 215s Unpacking python3-lxml:amd64 (6.0.1-1build1) ... 215s Selecting previously unselected package python3-mistletoe. 215s Preparing to unpack .../30-python3-mistletoe_1.4.0-1_all.deb ... 215s Unpacking python3-mistletoe (1.4.0-1) ... 215s Selecting previously unselected package python3-packaging. 215s Preparing to unpack .../31-python3-packaging_25.0-1_all.deb ... 215s Unpacking python3-packaging (25.0-1) ... 215s Selecting previously unselected package python3-ply. 215s Preparing to unpack .../32-python3-ply_3.11-9_all.deb ... 215s Unpacking python3-ply (3.11-9) ... 215s Selecting previously unselected package python3-phply. 215s Preparing to unpack .../33-python3-phply_1.2.6-1_all.deb ... 215s Unpacking python3-phply (1.2.6-1) ... 215s Selecting previously unselected package python3-pluggy. 215s Preparing to unpack .../34-python3-pluggy_1.6.0-1_all.deb ... 215s Unpacking python3-pluggy (1.6.0-1) ... 215s Selecting previously unselected package python3-pytest. 215s Preparing to unpack .../35-python3-pytest_8.3.5-2_all.deb ... 215s Unpacking python3-pytest (8.3.5-2) ... 215s Selecting previously unselected package python3-pytz. 215s Preparing to unpack .../36-python3-pytz_2025.2-4_all.deb ... 215s Unpacking python3-pytz (2025.2-4) ... 215s Selecting previously unselected package python3-ruamel.yaml.clib. 215s Preparing to unpack .../37-python3-ruamel.yaml.clib_0.2.12+ds-1build1_amd64.deb ... 215s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 215s Selecting previously unselected package python3-ruamel.yaml. 215s Preparing to unpack .../38-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 215s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 215s Selecting previously unselected package python3-syrupy. 215s Preparing to unpack .../39-python3-syrupy_5.0.0-1_all.deb ... 215s Unpacking python3-syrupy (5.0.0-1) ... 215s Selecting previously unselected package python3-translate. 215s Preparing to unpack .../40-python3-translate_3.15.1-1_all.deb ... 215s Unpacking python3-translate (3.15.1-1) ... 215s Selecting previously unselected package python3-vobject. 215s Preparing to unpack .../41-python3-vobject_0.9.9+dfsg-1_all.deb ... 215s Unpacking python3-vobject (0.9.9+dfsg-1) ... 215s Selecting previously unselected package python3-wcwidth. 215s Preparing to unpack .../42-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 215s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 215s Selecting previously unselected package python3-xapian. 215s Preparing to unpack .../43-python3-xapian_1.4.29-1build1_amd64.deb ... 215s Unpacking python3-xapian (1.4.29-1build1) ... 215s Selecting previously unselected package subversion. 215s Preparing to unpack .../44-subversion_1.14.5-4_amd64.deb ... 215s Unpacking subversion (1.14.5-4) ... 215s Selecting previously unselected package translate-toolkit. 215s Preparing to unpack .../45-translate-toolkit_3.15.1-1_all.deb ... 215s Unpacking translate-toolkit (3.15.1-1) ... 215s Selecting previously unselected package python3-iniparse. 215s Preparing to unpack .../46-python3-iniparse_0.5.1-1_all.deb ... 215s Unpacking python3-iniparse (0.5.1-1) ... 215s Selecting previously unselected package python3-pycountry. 215s Preparing to unpack .../47-python3-pycountry_24.6.1+ds1-1_all.deb ... 215s Unpacking python3-pycountry (24.6.1+ds1-1) ... 216s Setting up python3-iniconfig (1.1.1-2) ... 216s Setting up libxapian30:amd64 (1.4.29-3) ... 216s Setting up python3-rapidfuzz (3.12.2+ds-1build1) ... 216s Setting up python3-diff-match-patch (20241021-1) ... 216s Setting up python3-aeidon (1.15-2) ... 216s Setting up libutf8proc3:amd64 (2.10.0-2) ... 216s Setting up libaspell15:amd64 (0.60.8.1-4) ... 216s Setting up python3-charset-normalizer (3.4.2-1) ... 216s Setting up python3-ply (3.11-9) ... 216s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 216s Setting up python3-all (3.13.7-1) ... 216s Setting up python3-pytz (2025.2-4) ... 216s Setting up libgomp1:amd64 (15.2.0-5ubuntu1) ... 216s Setting up python3-packaging (25.0-1) ... 216s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 216s Setting up emacsen-common (3.0.8) ... 216s Setting up python3-cheroot (10.0.1+ds1-4) ... 216s Setting up python3-pycountry (24.6.1+ds1-1) ... 216s Setting up python3-xapian (1.4.29-1build1) ... 216s Setting up python3-cwcwidth (0.1.10-1build2) ... 217s Setting up python3-pluggy (1.6.0-1) ... 217s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 217s Setting up python3-mistletoe (1.4.0-1) ... 217s Setting up libexttextcat-data (3.4.7-1ubuntu1) ... 217s Setting up libapr1t64:amd64 (1.7.5-1) ... 217s Setting up libxslt1.1:amd64 (1.1.43-0.3) ... 217s Setting up python3-dateutil (2.9.0-4) ... 217s Setting up python3-levenshtein (0.27.1-2build1) ... 217s Setting up libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 217s Setting up python3-soupsieve (2.7-2) ... 217s Setting up python3-iniparse (0.5.1-1) ... 217s Setting up libaprutil1t64:amd64 (1.6.3-3ubuntu2) ... 217s Setting up python3-vobject (0.9.9+dfsg-1) ... 217s Setting up gettext (0.23.1-2build2) ... 217s Setting up python3-phply (1.2.6-1) ... 217s Setting up dictionaries-common (1.30.10) ... 217s Setting up python3-pytest (8.3.5-2) ... 218s Setting up python3-syrupy (5.0.0-1) ... 218s Setting up libserf-1-1:amd64 (1.3.10-3ubuntu1) ... 218s Setting up python3-bs4 (4.14.2-1) ... 218s Setting up python3-lxml:amd64 (6.0.1-1build1) ... 218s Setting up hunspell-en-us (1:2020.12.07-4) ... 218s Setting up libsvn1:amd64 (1.14.5-4) ... 218s Setting up libenchant-2-2:amd64 (2.8.2+dfsg1-3) ... 218s Setting up subversion (1.14.5-4) ... 218s Setting up python3-enchant (3.3.0~rc1-1) ... 218s Setting up python3-translate (3.15.1-1) ... 218s Setting up translate-toolkit (3.15.1-1) ... 218s Processing triggers for libc-bin (2.42-0ubuntu3) ... 218s Processing triggers for man-db (2.13.1-1) ... 219s Processing triggers for install-info (7.1.1-1ubuntu1) ... 219s Processing triggers for dictionaries-common (1.30.10) ... 221s autopkgtest [08:33:36]: test python3-translate-commands: [----------------------- 222s ============================= test session starts ============================== 222s platform linux -- Python 3.13.9, pytest-8.3.5, pluggy-1.6.0 -- /usr/bin/python3.13 222s cachedir: .pytest_cache 222s rootdir: /tmp/autopkgtest.iE6pSW/autopkgtest_tmp 222s plugins: syrupy-5.0.0, typeguard-4.4.2 224s collecting ... collected 3383 items / 2 skipped 224s 224s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 224s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 224s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 224s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 224s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 224s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 224s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 224s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 224s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 224s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 224s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 224s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 224s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 224s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 224s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 224s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 224s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 224s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 224s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 224s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 224s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 224s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 224s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 224s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 224s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 224s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 224s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 224s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 224s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 224s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 224s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 224s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 224s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 224s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 224s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 224s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 225s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 225s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 225s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 225s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 225s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 225s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 225s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 225s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 225s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 225s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 225s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 225s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 225s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 225s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 225s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 3%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 4%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 225s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 225s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 225s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 225s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 225s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 225s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 225s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 225s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 225s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 225s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 225s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 225s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 6%] 225s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 225s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 225s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 225s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 225s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 225s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 225s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 225s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 225s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 225s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 225s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 225s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 225s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 225s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 225s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 225s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 225s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 225s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 225s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 225s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 225s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 225s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 225s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 225s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 225s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 225s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 225s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 225s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 225s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 225s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 225s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 225s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 225s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 225s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 7%] 225s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 225s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 225s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 225s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 225s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 225s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 225s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 225s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 225s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 225s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 225s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 225s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 225s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 225s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 225s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 225s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 225s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 225s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 225s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 225s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 225s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 225s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 225s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 225s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 225s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 225s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 225s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 225s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 225s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 225s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 225s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 225s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 225s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 225s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 8%] 225s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 225s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 225s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 225s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 225s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 225s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 225s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 225s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 225s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 225s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 225s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 225s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 225s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 225s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 225s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 225s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 225s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 225s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 225s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 225s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 225s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 225s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 225s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 225s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 225s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 225s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 225s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 225s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 225s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 225s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 225s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 225s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 225s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 9%] 225s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 9%] 225s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 225s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 225s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 225s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 225s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 225s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 225s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 225s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 225s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 225s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 225s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 225s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 225s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 225s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 225s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 225s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 225s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 225s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 225s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 225s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 225s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 225s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 225s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 225s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 225s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 225s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 225s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 225s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 225s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 225s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 10%] 225s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 225s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 225s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 10%] 225s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 10%] 225s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 225s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 225s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 225s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 225s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 225s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 225s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 225s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 11%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 12%] 225s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 12%] 225s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 12%] 225s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 12%] 225s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 225s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 225s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 225s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 225s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 225s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 225s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 13%] 225s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 225s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 225s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 225s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 225s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 225s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 225s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 225s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 225s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 14%] 225s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 14%] 225s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 225s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 225s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 15%] 225s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 15%] 225s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 15%] 225s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 225s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 225s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 225s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 225s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 225s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 225s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 225s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 225s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 225s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 225s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 225s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 225s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 225s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 225s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 225s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 225s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 225s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 225s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 225s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 225s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 225s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 225s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 225s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 225s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 225s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 225s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 16%] 225s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 16%] 225s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 225s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 225s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 225s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 16%] 225s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 16%] 225s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 16%] 225s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 225s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 225s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 225s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 225s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 225s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 225s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 225s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 225s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 225s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 225s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 225s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 225s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 225s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 225s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 225s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 225s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 225s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 225s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 225s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 225s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 225s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 225s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 225s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 225s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 225s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 225s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 17%] 225s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 17%] 225s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 17%] 225s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 17%] 225s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 225s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 17%] 225s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 17%] 225s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 225s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 225s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 225s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 225s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 225s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 225s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 225s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 225s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 225s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 225s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 225s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 225s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 225s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 225s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 225s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 225s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 225s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 225s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 225s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 225s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 225s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 225s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 18%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 18%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 18%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 18%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 18%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 18%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 18%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 18%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 19%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 225s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 226s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 226s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 226s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 226s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 226s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 226s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 226s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 226s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 226s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 226s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 226s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 226s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 226s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 20%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 20%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 20%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 20%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 20%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 20%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 20%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 226s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 226s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 226s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 226s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 226s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 21%] 226s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 21%] 226s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 21%] 226s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 21%] 226s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 21%] 226s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 21%] 226s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 21%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 21%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 21%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 226s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 226s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 22%] 226s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 22%] 226s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 22%] 226s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 22%] 226s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 22%] 226s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 22%] 226s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 22%] 226s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 22%] 226s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 22%] 226s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 226s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 226s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 226s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 226s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 226s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 226s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 226s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 226s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 226s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 226s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 226s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 226s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 226s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 226s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 226s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 226s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 226s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 226s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 226s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 226s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 226s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 226s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 226s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 226s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 23%] 226s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 23%] 226s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 23%] 226s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 23%] 226s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 23%] 226s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 23%] 226s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 23%] 226s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 23%] 226s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 23%] 226s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 226s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 226s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 226s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 226s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 226s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 226s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 226s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 226s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 226s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 226s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 226s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 226s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 226s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 226s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 226s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 226s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 226s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 226s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 226s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 226s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 226s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 226s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 226s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 226s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 24%] 226s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 24%] 226s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 24%] 226s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 24%] 226s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 24%] 226s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 24%] 226s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 24%] 226s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 24%] 226s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 24%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 24%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 25%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 26%] 226s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 26%] 226s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 226s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 226s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 27%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 226s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 226s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 226s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 226s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 226s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 226s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 226s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 226s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 226s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 226s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 28%] 226s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 28%] 226s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 28%] 226s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 28%] 226s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 28%] 226s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 28%] 226s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 28%] 226s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 28%] 226s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 28%] 226s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 28%] 226s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 28%] 226s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 28%] 226s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 226s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 226s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 226s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 226s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 226s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 226s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 226s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 226s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 226s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 226s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 226s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 226s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 226s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 226s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 226s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 226s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 226s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 226s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 226s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 226s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 226s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 29%] 226s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 29%] 226s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 29%] 226s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 29%] 226s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 29%] 226s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 29%] 226s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 29%] 226s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 29%] 226s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 29%] 226s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 29%] 226s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 29%] 226s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 29%] 226s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 226s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 226s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 226s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 226s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 226s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 226s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 226s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 226s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 226s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 226s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 226s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 226s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 226s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 226s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 226s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 226s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 226s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 226s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 226s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 226s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 30%] 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 30%] 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 30%] 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 30%] 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 30%] 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 30%] 226s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 30%] 226s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 30%] 226s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 30%] 226s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 30%] 226s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 30%] 226s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 30%] 226s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 226s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 226s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 226s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 226s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 226s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 226s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 226s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 226s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 226s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 226s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 31%] 226s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 31%] 226s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 31%] 226s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 31%] 226s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 31%] 226s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 31%] 226s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 31%] 226s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 31%] 226s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 31%] 226s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 31%] 226s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 31%] 226s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 31%] 226s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 31%] 226s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 226s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_long PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 32%] 226s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_numbers PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_options PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_printf PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 32%] 226s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 226s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 226s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 226s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 226s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 226s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 226s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 226s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 226s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 226s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 226s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 226s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 226s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 226s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 226s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 226s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 226s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 226s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 226s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 226s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 226s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 33%] 226s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 33%] 227s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 33%] 227s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 33%] 227s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 33%] 227s tests/translate/filters/test_checks.py::test_functions PASSED [ 33%] 227s tests/translate/filters/test_checks.py::test_emails PASSED [ 33%] 227s tests/translate/filters/test_checks.py::test_urls PASSED [ 33%] 227s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 33%] 227s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 33%] 227s tests/translate/filters/test_checks.py::test_credits PASSED [ 33%] 227s tests/translate/filters/test_checks.py::test_gconf PASSED [ 33%] 227s tests/translate/filters/test_checks.py::test_validxml PASSED [ 33%] 227s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 33%] 227s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 227s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 227s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 227s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 227s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 227s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 227s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 227s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 227s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 227s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 227s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 227s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 34%] 227s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 35%] 227s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 227s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 227s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 227s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 227s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 227s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 227s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 227s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 227s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 227s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 227s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 227s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 227s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 227s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 227s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 227s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 227s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 227s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 227s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 227s tests/translate/lang/test_common.py::test_alter_length PASSED [ 36%] 227s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 36%] 227s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 36%] 227s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 36%] 227s tests/translate/lang/test_el.py::test_sentences PASSED [ 36%] 227s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 36%] 227s tests/translate/lang/test_es.py::test_sentences PASSED [ 36%] 227s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 36%] 227s tests/translate/lang/test_fa.py::test_sentences PASSED [ 36%] 227s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 36%] 227s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 36%] 227s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 36%] 227s tests/translate/lang/test_fr.py::test_sentences PASSED [ 36%] 227s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 36%] 227s tests/translate/lang/test_hy.py::test_sentences PASSED [ 36%] 227s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 227s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 227s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 227s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 227s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 227s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 227s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 227s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 227s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 227s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 227s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 227s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 227s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 227s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 227s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 227s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 227s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 227s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 227s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 227s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 37%] 227s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 37%] 227s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 37%] 227s tests/translate/lang/test_team.py::test_simple PASSED [ 37%] 227s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 37%] 227s tests/translate/lang/test_th.py::test_sentences PASSED [ 37%] 227s tests/translate/lang/test_tr.py::test_sentences PASSED [ 37%] 227s tests/translate/lang/test_uk.py::test_sentences PASSED [ 37%] 227s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 37%] 227s tests/translate/lang/test_vi.py::test_sentences PASSED [ 37%] 227s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 37%] 227s tests/translate/lang/test_zh.py::test_sentences PASSED [ 37%] 227s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 37%] 227s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 37%] 227s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 37%] 227s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 227s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 38%] 227s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 227s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 227s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 227s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 227s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 227s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 227s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 227s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 227s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 227s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 227s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 227s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 227s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 227s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 227s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 227s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 227s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 227s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 38%] 227s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 38%] 227s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 38%] 227s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 38%] 227s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 38%] 227s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 38%] 227s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 38%] 227s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 38%] 227s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 38%] 227s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 38%] 227s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 38%] 227s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 38%] 227s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 38%] 227s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 38%] 227s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 38%] 227s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 227s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 227s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 227s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 227s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 227s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 227s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 227s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 227s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 227s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 227s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 39%] 227s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 227s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 227s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 227s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 227s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 227s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 227s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 227s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 227s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 227s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 227s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 227s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 227s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 227s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 227s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 227s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 227s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 227s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 227s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 40%] 227s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 40%] 227s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 40%] 227s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 40%] 227s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 40%] 227s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 40%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 42%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 44%] 227s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 227s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 227s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 227s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 227s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 227s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 227s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 227s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 227s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 227s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 227s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 227s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 227s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 227s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 227s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 227s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 227s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 227s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 227s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 227s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 227s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 227s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 227s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 45%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 45%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 45%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 45%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 45%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 45%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 227s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 227s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 227s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 227s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 227s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 227s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 227s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 227s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 227s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 227s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 46%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 46%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 46%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 46%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 46%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 46%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 227s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 228s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 228s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding_save PASSED [ 47%] 228s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 228s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 228s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 228s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 228s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 228s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 228s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 228s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 228s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 228s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 228s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 228s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 228s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 228s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 228s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 47%] 228s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 47%] 228s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 47%] 228s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 47%] 228s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 47%] 228s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 47%] 228s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 48%] 228s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 228s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 228s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 228s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 228s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 228s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 228s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 228s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 228s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 228s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 228s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 228s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 228s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 228s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 228s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 228s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 228s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 228s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 228s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 228s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 228s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 228s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 228s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 228s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 228s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 228s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 228s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 228s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 49%] 228s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 49%] 228s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 49%] 228s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 49%] 228s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 49%] 228s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 49%] 228s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 228s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 228s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 228s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 228s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 228s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 228s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 228s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 228s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 228s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 228s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 228s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 228s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 228s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 228s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 228s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 228s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 228s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 228s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 228s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 228s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 228s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 228s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 228s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 228s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 228s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 228s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 228s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 228s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 228s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 228s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 228s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 228s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 228s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 228s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 51%] 228s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 51%] 228s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 51%] 228s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 51%] 228s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 228s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 228s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 228s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 228s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_comments PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 54%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 56%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 57%] 228s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 228s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 228s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 228s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 228s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 228s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 228s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 58%] 228s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_invalid_nesting PASSED [ 58%] 228s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 228s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 228s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 228s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 228s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 228s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 228s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 228s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 228s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 228s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 228s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 228s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 228s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 228s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 58%] 228s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_invalid PASSED [ 58%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 58%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 58%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 58%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 58%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 228s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 228s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 228s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 228s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 59%] 228s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 59%] 228s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 59%] 228s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 59%] 228s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 59%] 228s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 228s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 228s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 228s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 228s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 228s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 228s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 228s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 228s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 228s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 228s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 228s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 228s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 228s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 228s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 228s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 228s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 228s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 60%] 228s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 228s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 228s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 228s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 228s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 228s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 228s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 228s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 228s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 228s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 228s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 228s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 60%] 228s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 60%] 228s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 60%] 228s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 60%] 228s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 60%] 228s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 228s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 228s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 228s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 228s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 228s 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%] 228s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 61%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 228s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 228s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 228s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 228s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 228s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 228s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 228s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 62%] 228s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 62%] 228s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 62%] 228s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 62%] 228s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 62%] 228s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 62%] 228s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 228s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 228s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 228s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 228s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 228s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 228s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 228s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 228s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 228s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 228s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 228s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 228s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 228s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 228s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 228s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 228s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 228s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 228s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 228s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 228s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 228s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 228s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 228s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 228s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 228s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 228s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 228s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 228s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 63%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 63%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 63%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 63%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 63%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 63%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 64%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 65%] 228s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 228s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 228s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 228s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 228s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 228s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 228s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 228s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 228s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 228s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 228s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 228s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 228s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 228s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 228s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 228s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 228s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 228s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 228s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 228s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 228s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 228s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 228s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 228s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 228s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 228s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 228s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 228s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 228s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 66%] 228s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 66%] 228s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 66%] 228s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 66%] 228s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 66%] 228s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 66%] 228s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 67%] 228s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 68%] 228s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 228s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 228s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 228s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 228s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 228s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 228s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 228s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 228s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 228s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 228s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 228s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 228s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 69%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 69%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 69%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 69%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 69%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 69%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 69%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 228s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 229s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 70%] 229s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 70%] 229s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 70%] 229s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 70%] 229s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 70%] 229s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 70%] 229s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 229s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 229s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 229s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 229s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 229s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 229s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 229s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 229s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 229s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 71%] 229s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 72%] 229s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 73%] 229s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 74%] 229s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 229s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 229s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 229s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 229s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 229s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 229s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 229s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 229s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 229s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 229s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 229s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 229s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 229s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 229s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 229s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 75%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 75%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 75%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 75%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 75%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 75%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 75%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 75%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 76%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 77%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 78%] 229s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 78%] 229s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 78%] 229s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 78%] 229s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 78%] 229s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 229s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 229s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 229s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 229s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 229s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 229s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 229s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 229s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 229s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 229s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 229s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 229s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 229s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 229s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 229s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 229s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 229s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 229s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 229s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 229s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 229s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 229s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 229s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 229s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 229s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 229s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 79%] 229s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 79%] 229s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 79%] 229s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 79%] 229s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 79%] 229s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 79%] 229s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 79%] 229s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 79%] 229s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 229s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 229s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 229s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 229s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 229s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 229s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 229s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 229s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 229s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 229s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 229s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 229s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 229s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 229s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 229s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 229s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 229s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 229s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 229s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 229s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 229s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 229s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 229s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 229s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 229s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 229s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 80%] 229s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 80%] 229s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 80%] 229s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 80%] 229s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 80%] 229s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 80%] 229s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 80%] 229s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 80%] 229s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 229s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 229s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 229s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 229s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 229s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 229s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 229s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 229s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 229s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 229s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 229s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 229s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 229s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 229s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 229s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 229s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 229s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 229s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 229s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 229s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 229s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 229s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 229s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 229s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 229s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 81%] 229s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 81%] 229s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 81%] 229s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 81%] 229s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 81%] 229s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 81%] 229s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 81%] 229s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 81%] 229s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 81%] 229s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 229s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 229s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 229s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 229s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 229s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 229s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 229s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 229s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 229s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 229s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 229s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 229s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 229s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 229s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 229s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 229s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 82%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 82%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 82%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 82%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 82%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 82%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 82%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 82%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 229s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 229s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 229s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 229s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 83%] 229s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 83%] 229s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 83%] 229s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 83%] 229s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 83%] 229s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 83%] 229s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 83%] 229s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 83%] 229s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 83%] 229s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 83%] 229s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_ordering PASSED [ 83%] 229s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create_blank PASSED [ 83%] 229s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_add PASSED [ 83%] 229s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_remove PASSED [ 83%] 229s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_find PASSED [ 83%] 229s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_parse PASSED [ 83%] 229s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_files PASSED [ 83%] 229s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_save PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_extensions PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_mimetypes PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_translate PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_markup PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_nonascii PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_ordering PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 84%] 229s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_ordering PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_ordering PASSED [ 84%] 229s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 85%] 229s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 85%] 229s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 85%] 229s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 229s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 229s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 229s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 229s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 229s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 229s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 229s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 229s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 229s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_ordering PASSED [ 85%] 229s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 229s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 229s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 229s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 229s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 229s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 229s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 229s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 229s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 229s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 229s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 229s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 229s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 229s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 229s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 229s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 229s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 229s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 229s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 229s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 229s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 229s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 86%] 229s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 86%] 229s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 86%] 229s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 86%] 229s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 229s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 229s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 229s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 229s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 229s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 229s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 229s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 229s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 229s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 229s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 229s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 229s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 229s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 229s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 229s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 229s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 229s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 229s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 229s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 229s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 229s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 229s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 229s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 229s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 229s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 229s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 229s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 229s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 229s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 229s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 87%] 229s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 87%] 229s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 87%] 229s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 229s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 229s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 229s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 229s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 229s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 229s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 229s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 229s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 229s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 229s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 229s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 229s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 229s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 229s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 229s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 229s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 229s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 229s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 229s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 229s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 229s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 229s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 88%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 88%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 88%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 229s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 229s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 229s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 229s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 229s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 229s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 229s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 229s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 229s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 229s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 229s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 229s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 229s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 229s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 229s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 89%] 229s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 89%] 229s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 89%] 229s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 229s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 229s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 229s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 229s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 229s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 229s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 229s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 229s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 229s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 229s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 229s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 229s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 229s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 229s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 229s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 229s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 229s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 229s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 229s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 229s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 229s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 229s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 229s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 229s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 229s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 229s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 229s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 229s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 229s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 229s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 229s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 229s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 229s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 229s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 229s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 229s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 229s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 229s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 229s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 229s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 229s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 229s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 92%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 229s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 230s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 230s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 92%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 93%] 230s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 230s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 230s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 230s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 230s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 230s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 230s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 230s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 230s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 230s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 230s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 230s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 230s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_blank PASSED [ 94%] 230s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_partial PASSED [ 94%] 230s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 230s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 230s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 230s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 230s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 230s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 230s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 230s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 230s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 230s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 230s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 230s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 230s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 230s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 230s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 230s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 230s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 230s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 230s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 230s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 95%] 230s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 95%] 230s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 95%] 230s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 230s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 230s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 230s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 231s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 231s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 231s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 231s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 231s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 231s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 231s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 231s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 231s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 231s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 231s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 231s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 231s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 231s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 231s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 231s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 231s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 231s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 231s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 231s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 231s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 231s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 231s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 231s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 231s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 231s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 231s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 231s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 96%] 231s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 231s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 231s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 231s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 231s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 231s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 231s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 231s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 231s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 231s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 231s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 231s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 231s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 231s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 231s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 231s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 231s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 231s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 231s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 231s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 231s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 231s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 231s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 231s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 231s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 231s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 231s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 231s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 231s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 231s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 231s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 231s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 231s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 231s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 231s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 231s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 231s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 231s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 231s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 231s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 231s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 231s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 231s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 231s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 231s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 231s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 231s 231s =============================== warnings summary =============================== 231s tests/translate/storage/test_cpo.py:15 231s Warning: 231s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 231s ImportError('gettext PO library not found') 231s In pytest 9.1 this warning will become an error by default. 231s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 231s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 231s 231s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 231s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.iE6pSW/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 231s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 231s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 231s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 231s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 231s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 231s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 231s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 231s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 231s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 231s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 231s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 231s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 231s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 231s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 231s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 231s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 231s Warning: Could not find accesskey for key.accesskey 231s 231s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 231s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 231s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 231s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 231s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 231s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.iE6pSW/autopkgtest_tmp/tests/translate/convert/test.idml'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 231s Warning: unclosed file <_io.BufferedReader name='translation.po'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 231s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 231s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 231s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 231s Warning: Could not find accesskey for prop.accesskey 231s 231s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 231s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 231s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 231s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 231s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 231s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 231s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 231s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 231s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 231s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 231s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 231s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.iE6pSW/autopkgtest_tmp/tests/translate/convert/test.odt'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 231s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 231s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 231s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 231s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 231s Enable tracemalloc to get traceback where the object was allocated. 231s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 231s 231s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 231s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 231s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 231s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 231s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 231s 231s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 231s Warning: DTD parse error: :1:35:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 231s 231s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 231s Warning: DTD file '' does not validate 231s 231s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 231s --------------------------- snapshot report summary ---------------------------- 231s 23 snapshots passed. 231s =========================== short test summary info ============================ 231s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 231s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 231s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 231s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 231s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 231s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 231s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 231s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 231s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 231s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 231s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 231s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 231s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 231s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 231s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 231s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 231s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 231s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 231s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 231s 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. 231s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 231s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 231s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 231s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 231s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 231s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 231s 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 231s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 231s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 231s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 231s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 231s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 231s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 231s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 231s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 231s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 231s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 231s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 231s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 231s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 231s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 231s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 231s =========== 3343 passed, 3 skipped, 39 xfailed, 50 warnings in 9.50s =========== 232s autopkgtest [08:33:47]: test python3-translate-commands: -----------------------] 232s python3-translate-commands PASS 232s autopkgtest [08:33:47]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 233s autopkgtest [08:33:48]: @@@@@@@@@@@@@@@@@@@@ summary 233s translate-toolkit PASS 233s python3-translate PASS 233s python3-translate-commands PASS