0s autopkgtest [07:11:25]: starting date and time: 2025-10-24 07:11:25+0000 0s autopkgtest [07:11:25]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [07:11:25]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.0l14h1oz/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:pytest,src:python-pluggy --apt-upgrade translate-toolkit --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=pytest/8.4.2-1 python-pluggy/1.6.0-1' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-cpu2-ram4-disk20-amd64 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@sto01-8.secgroup --name adt-resolute-amd64-translate-toolkit-20251024-071124-juju-7f2275-prod-proposed-migration-environment-2-ff964e4b-2f2a-4c09-a040-0f91175a09ce --image adt/ubuntu-resolute-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-autopkgtest-workers-amd64 -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 3s Creating nova instance adt-resolute-amd64-translate-toolkit-20251024-071124-juju-7f2275-prod-proposed-migration-environment-2-ff964e4b-2f2a-4c09-a040-0f91175a09ce from image adt/ubuntu-resolute-amd64-server-20251024.img (UUID 310022dd-8dd9-48c7-a816-c2d8419ef402)... 38s autopkgtest [07:12:03]: testbed dpkg architecture: amd64 38s autopkgtest [07:12:03]: testbed apt version: 3.1.8ubuntu1 39s autopkgtest [07:12:04]: @@@@@@@@@@@@@@@@@@@@ test bed setup 39s autopkgtest [07:12:04]: testbed release detected to be: None 39s autopkgtest [07:12:04]: updating testbed package index (apt update) 40s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 40s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 40s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 40s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 40s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [61.6 kB] 40s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [533 kB] 40s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5028 B] 40s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [15.0 kB] 40s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 Packages [147 kB] 40s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main i386 Packages [97.2 kB] 40s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 c-n-f Metadata [3040 B] 40s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 Packages [28.0 kB] 40s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/restricted i386 Packages [3208 B] 40s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 c-n-f Metadata [336 B] 40s Get:15 http://ftpmaster.internal/ubuntu resolute-proposed/universe i386 Packages [145 kB] 40s Get:16 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 Packages [385 kB] 40s Get:17 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 c-n-f Metadata [10.8 kB] 40s Get:18 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse i386 Packages [3156 B] 40s Get:19 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 Packages [6744 B] 41s Get:20 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 c-n-f Metadata [492 B] 41s Fetched 1532 kB in 1s (1722 kB/s) 42s Reading package lists... 42s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 42s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 42s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 42s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 43s Reading package lists... 43s Reading package lists... 43s Building dependency tree... 43s Reading state information... 43s Calculating upgrade... 43s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 43s autopkgtest [07:12:08]: upgrading testbed (apt dist-upgrade and autopurge) 43s Reading package lists... 43s Building dependency tree... 43s Reading state information... 44s Calculating upgrade... 44s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 44s Reading package lists... 44s Building dependency tree... 44s Reading state information... 44s Solving dependencies... 44s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 46s autopkgtest [07:12:11]: testbed running kernel: Linux 6.17.0-5-generic #5-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 22 10:00:33 UTC 2025 46s autopkgtest [07:12:11]: @@@@@@@@@@@@@@@@@@@@ apt-source translate-toolkit 48s Get:1 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.15.1-1 (dsc) [3193 B] 48s Get:2 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.15.1-1 (tar) [1170 kB] 48s Get:3 http://ftpmaster.internal/ubuntu resolute/universe translate-toolkit 3.15.1-1 (diff) [24.9 kB] 48s gpgv: Signature made Fri Mar 14 13:03:50 2025 UTC 48s gpgv: using RSA key 90E2D2C1AD146A1B7EBB891DBBC17EBB1396F2F7 48s gpgv: Can't check signature: No public key 48s dpkg-source: warning: cannot verify inline signature for ./translate-toolkit_3.15.1-1.dsc: no acceptable signature found 49s autopkgtest [07:12:14]: testing package translate-toolkit version 3.15.1-1 49s autopkgtest [07:12:14]: build not needed 53s autopkgtest [07:12:18]: test translate-toolkit: preparing testbed 53s Reading package lists... 53s Building dependency tree... 53s Reading state information... 53s Solving dependencies... 53s The following NEW packages will be installed: 53s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 53s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 53s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 53s python3-aeidon python3-bs4 python3-charset-normalizer python3-cheroot 53s python3-cwcwidth python3-dateutil python3-diff-match-patch python3-enchant 53s python3-iniparse python3-levenshtein python3-lxml python3-mistletoe 53s python3-phply python3-ply python3-pycountry python3-pytz python3-rapidfuzz 53s python3-ruamel.yaml python3-ruamel.yaml.clib python3-soupsieve 53s python3-translate python3-vobject python3-xapian subversion 53s translate-toolkit 53s 0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded. 53s Need to get 13.9 MB of archives. 53s After this operation, 74.6 MB of additional disk space will be used. 53s Get:1 http://ftpmaster.internal/ubuntu resolute/main amd64 emacsen-common all 3.0.8 [13.9 kB] 53s Get:2 http://ftpmaster.internal/ubuntu resolute/main amd64 dictionaries-common all 1.30.10 [178 kB] 53s Get:3 http://ftpmaster.internal/ubuntu resolute/main amd64 libgomp1 amd64 15.2.0-5ubuntu1 [151 kB] 53s Get:4 http://ftpmaster.internal/ubuntu resolute/main amd64 gettext amd64 0.23.1-2build2 [1043 kB] 54s Get:5 http://ftpmaster.internal/ubuntu resolute/main amd64 hunspell-en-us all 1:2020.12.07-4 [585 kB] 54s Get:6 http://ftpmaster.internal/ubuntu resolute/main amd64 libapr1t64 amd64 1.7.5-1 [116 kB] 54s Get:7 http://ftpmaster.internal/ubuntu resolute/main amd64 libaprutil1t64 amd64 1.6.3-3ubuntu2 [98.5 kB] 54s Get:8 http://ftpmaster.internal/ubuntu resolute/main amd64 libaspell15 amd64 0.60.8.1-4 [353 kB] 54s Get:9 http://ftpmaster.internal/ubuntu resolute/main amd64 libhunspell-1.7-0 amd64 1.7.2+really1.7.2-10build3 [294 kB] 54s Get:10 http://ftpmaster.internal/ubuntu resolute/main amd64 libenchant-2-2 amd64 2.8.2+dfsg1-3 [59.0 kB] 54s Get:11 http://ftpmaster.internal/ubuntu resolute/main amd64 libexttextcat-data all 3.4.7-1ubuntu1 [193 kB] 54s Get:12 http://ftpmaster.internal/ubuntu resolute/universe amd64 libserf-1-1 amd64 1.3.10-3ubuntu1 [48.2 kB] 54s Get:13 http://ftpmaster.internal/ubuntu resolute/universe amd64 libutf8proc3 amd64 2.10.0-2 [71.6 kB] 54s Get:14 http://ftpmaster.internal/ubuntu resolute/universe amd64 libsvn1 amd64 1.14.5-3 [1354 kB] 54s Get:15 http://ftpmaster.internal/ubuntu resolute/universe amd64 libxapian30 amd64 1.4.29-3 [740 kB] 54s Get:16 http://ftpmaster.internal/ubuntu resolute/main amd64 libxslt1.1 amd64 1.1.43-0.1 [172 kB] 54s Get:17 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-aeidon all 1.15-2 [231 kB] 54s Get:18 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-soupsieve all 2.7-2 [33.6 kB] 54s Get:19 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-bs4 all 4.13.4-3 [137 kB] 54s Get:20 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-charset-normalizer amd64 3.4.2-1 [129 kB] 54s Get:21 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-cheroot all 10.0.1+ds1-4 [78.6 kB] 54s Get:22 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-cwcwidth amd64 0.1.10-1build2 [28.0 kB] 54s Get:23 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-dateutil all 2.9.0-4 [80.3 kB] 54s Get:24 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-diff-match-patch all 20241021-1 [33.6 kB] 54s Get:25 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-enchant all 3.3.0~rc1-1 [35.1 kB] 54s Get:26 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-rapidfuzz amd64 3.12.2+ds-1build1 [2746 kB] 54s Get:27 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-levenshtein amd64 0.27.1-2build1 [145 kB] 54s Get:28 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-lxml amd64 6.0.1-1build1 [2336 kB] 54s Get:29 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-mistletoe all 1.4.0-1 [38.2 kB] 54s Get:30 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-ply all 3.11-9 [45.8 kB] 54s Get:31 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-phply all 1.2.6-1 [50.5 kB] 54s Get:32 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-pytz all 2025.2-4 [32.3 kB] 54s Get:33 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-ruamel.yaml.clib amd64 0.2.12+ds-1build1 [164 kB] 54s Get:34 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 54s Get:35 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-translate all 3.15.1-1 [319 kB] 54s Get:36 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-vobject all 0.9.9+dfsg-1 [41.5 kB] 54s Get:37 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-xapian amd64 1.4.29-1build1 [588 kB] 54s Get:38 http://ftpmaster.internal/ubuntu resolute/universe amd64 subversion amd64 1.14.5-3 [911 kB] 54s Get:39 http://ftpmaster.internal/ubuntu resolute/universe amd64 translate-toolkit all 3.15.1-1 [81.0 kB] 54s Get:40 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-iniparse all 0.5.1-1 [21.2 kB] 54s Get:41 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 54s Preconfiguring packages ... 54s Fetched 13.9 MB in 1s (12.9 MB/s) 54s Selecting previously unselected package emacsen-common. 55s (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 ... 78459 files and directories currently installed.) 55s Preparing to unpack .../00-emacsen-common_3.0.8_all.deb ... 55s Unpacking emacsen-common (3.0.8) ... 55s Selecting previously unselected package dictionaries-common. 55s Preparing to unpack .../01-dictionaries-common_1.30.10_all.deb ... 55s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 55s Unpacking dictionaries-common (1.30.10) ... 55s Selecting previously unselected package libgomp1:amd64. 55s Preparing to unpack .../02-libgomp1_15.2.0-5ubuntu1_amd64.deb ... 55s Unpacking libgomp1:amd64 (15.2.0-5ubuntu1) ... 55s Selecting previously unselected package gettext. 55s Preparing to unpack .../03-gettext_0.23.1-2build2_amd64.deb ... 55s Unpacking gettext (0.23.1-2build2) ... 55s Selecting previously unselected package hunspell-en-us. 55s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-4_all.deb ... 55s Unpacking hunspell-en-us (1:2020.12.07-4) ... 55s Selecting previously unselected package libapr1t64:amd64. 55s Preparing to unpack .../05-libapr1t64_1.7.5-1_amd64.deb ... 55s Unpacking libapr1t64:amd64 (1.7.5-1) ... 55s Selecting previously unselected package libaprutil1t64:amd64. 55s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu2_amd64.deb ... 55s Unpacking libaprutil1t64:amd64 (1.6.3-3ubuntu2) ... 55s Selecting previously unselected package libaspell15:amd64. 55s Preparing to unpack .../07-libaspell15_0.60.8.1-4_amd64.deb ... 55s Unpacking libaspell15:amd64 (0.60.8.1-4) ... 55s Selecting previously unselected package libhunspell-1.7-0:amd64. 55s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_amd64.deb ... 55s Unpacking libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 55s Selecting previously unselected package libenchant-2-2:amd64. 55s Preparing to unpack .../09-libenchant-2-2_2.8.2+dfsg1-3_amd64.deb ... 55s Unpacking libenchant-2-2:amd64 (2.8.2+dfsg1-3) ... 55s Selecting previously unselected package libexttextcat-data. 55s Preparing to unpack .../10-libexttextcat-data_3.4.7-1ubuntu1_all.deb ... 55s Unpacking libexttextcat-data (3.4.7-1ubuntu1) ... 55s Selecting previously unselected package libserf-1-1:amd64. 55s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_amd64.deb ... 55s Unpacking libserf-1-1:amd64 (1.3.10-3ubuntu1) ... 55s Selecting previously unselected package libutf8proc3:amd64. 55s Preparing to unpack .../12-libutf8proc3_2.10.0-2_amd64.deb ... 55s Unpacking libutf8proc3:amd64 (2.10.0-2) ... 55s Selecting previously unselected package libsvn1:amd64. 55s Preparing to unpack .../13-libsvn1_1.14.5-3_amd64.deb ... 55s Unpacking libsvn1:amd64 (1.14.5-3) ... 55s Selecting previously unselected package libxapian30:amd64. 55s Preparing to unpack .../14-libxapian30_1.4.29-3_amd64.deb ... 55s Unpacking libxapian30:amd64 (1.4.29-3) ... 55s Selecting previously unselected package libxslt1.1:amd64. 55s Preparing to unpack .../15-libxslt1.1_1.1.43-0.1_amd64.deb ... 55s Unpacking libxslt1.1:amd64 (1.1.43-0.1) ... 55s Selecting previously unselected package python3-aeidon. 55s Preparing to unpack .../16-python3-aeidon_1.15-2_all.deb ... 55s Unpacking python3-aeidon (1.15-2) ... 55s Selecting previously unselected package python3-soupsieve. 55s Preparing to unpack .../17-python3-soupsieve_2.7-2_all.deb ... 55s Unpacking python3-soupsieve (2.7-2) ... 55s Selecting previously unselected package python3-bs4. 55s Preparing to unpack .../18-python3-bs4_4.13.4-3_all.deb ... 55s Unpacking python3-bs4 (4.13.4-3) ... 55s Selecting previously unselected package python3-charset-normalizer. 55s Preparing to unpack .../19-python3-charset-normalizer_3.4.2-1_amd64.deb ... 55s Unpacking python3-charset-normalizer (3.4.2-1) ... 55s Selecting previously unselected package python3-cheroot. 55s Preparing to unpack .../20-python3-cheroot_10.0.1+ds1-4_all.deb ... 55s Unpacking python3-cheroot (10.0.1+ds1-4) ... 55s Selecting previously unselected package python3-cwcwidth. 55s Preparing to unpack .../21-python3-cwcwidth_0.1.10-1build2_amd64.deb ... 55s Unpacking python3-cwcwidth (0.1.10-1build2) ... 55s Selecting previously unselected package python3-dateutil. 55s Preparing to unpack .../22-python3-dateutil_2.9.0-4_all.deb ... 55s Unpacking python3-dateutil (2.9.0-4) ... 55s Selecting previously unselected package python3-diff-match-patch. 55s Preparing to unpack .../23-python3-diff-match-patch_20241021-1_all.deb ... 55s Unpacking python3-diff-match-patch (20241021-1) ... 55s Selecting previously unselected package python3-enchant. 55s Preparing to unpack .../24-python3-enchant_3.3.0~rc1-1_all.deb ... 55s Unpacking python3-enchant (3.3.0~rc1-1) ... 55s Selecting previously unselected package python3-rapidfuzz. 55s Preparing to unpack .../25-python3-rapidfuzz_3.12.2+ds-1build1_amd64.deb ... 55s Unpacking python3-rapidfuzz (3.12.2+ds-1build1) ... 55s Selecting previously unselected package python3-levenshtein. 55s Preparing to unpack .../26-python3-levenshtein_0.27.1-2build1_amd64.deb ... 55s Unpacking python3-levenshtein (0.27.1-2build1) ... 55s Selecting previously unselected package python3-lxml:amd64. 55s Preparing to unpack .../27-python3-lxml_6.0.1-1build1_amd64.deb ... 55s Unpacking python3-lxml:amd64 (6.0.1-1build1) ... 55s Selecting previously unselected package python3-mistletoe. 55s Preparing to unpack .../28-python3-mistletoe_1.4.0-1_all.deb ... 55s Unpacking python3-mistletoe (1.4.0-1) ... 55s Selecting previously unselected package python3-ply. 55s Preparing to unpack .../29-python3-ply_3.11-9_all.deb ... 55s Unpacking python3-ply (3.11-9) ... 55s Selecting previously unselected package python3-phply. 55s Preparing to unpack .../30-python3-phply_1.2.6-1_all.deb ... 55s Unpacking python3-phply (1.2.6-1) ... 55s Selecting previously unselected package python3-pytz. 55s Preparing to unpack .../31-python3-pytz_2025.2-4_all.deb ... 55s Unpacking python3-pytz (2025.2-4) ... 55s Selecting previously unselected package python3-ruamel.yaml.clib. 55s Preparing to unpack .../32-python3-ruamel.yaml.clib_0.2.12+ds-1build1_amd64.deb ... 55s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 55s Selecting previously unselected package python3-ruamel.yaml. 55s Preparing to unpack .../33-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 55s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 55s Selecting previously unselected package python3-translate. 55s Preparing to unpack .../34-python3-translate_3.15.1-1_all.deb ... 55s Unpacking python3-translate (3.15.1-1) ... 55s Selecting previously unselected package python3-vobject. 55s Preparing to unpack .../35-python3-vobject_0.9.9+dfsg-1_all.deb ... 55s Unpacking python3-vobject (0.9.9+dfsg-1) ... 55s Selecting previously unselected package python3-xapian. 55s Preparing to unpack .../36-python3-xapian_1.4.29-1build1_amd64.deb ... 55s Unpacking python3-xapian (1.4.29-1build1) ... 55s Selecting previously unselected package subversion. 55s Preparing to unpack .../37-subversion_1.14.5-3_amd64.deb ... 55s Unpacking subversion (1.14.5-3) ... 55s Selecting previously unselected package translate-toolkit. 55s Preparing to unpack .../38-translate-toolkit_3.15.1-1_all.deb ... 55s Unpacking translate-toolkit (3.15.1-1) ... 55s Selecting previously unselected package python3-iniparse. 55s Preparing to unpack .../39-python3-iniparse_0.5.1-1_all.deb ... 55s Unpacking python3-iniparse (0.5.1-1) ... 55s Selecting previously unselected package python3-pycountry. 55s Preparing to unpack .../40-python3-pycountry_24.6.1+ds1-1_all.deb ... 55s Unpacking python3-pycountry (24.6.1+ds1-1) ... 55s Setting up libxapian30:amd64 (1.4.29-3) ... 55s Setting up python3-rapidfuzz (3.12.2+ds-1build1) ... 55s Setting up python3-diff-match-patch (20241021-1) ... 55s Setting up python3-aeidon (1.15-2) ... 55s Setting up libutf8proc3:amd64 (2.10.0-2) ... 55s Setting up libaspell15:amd64 (0.60.8.1-4) ... 55s Setting up python3-charset-normalizer (3.4.2-1) ... 56s Setting up python3-ply (3.11-9) ... 56s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 56s Setting up python3-pytz (2025.2-4) ... 56s Setting up libgomp1:amd64 (15.2.0-5ubuntu1) ... 56s Setting up emacsen-common (3.0.8) ... 56s Setting up python3-cheroot (10.0.1+ds1-4) ... 56s Setting up python3-pycountry (24.6.1+ds1-1) ... 56s Setting up python3-xapian (1.4.29-1build1) ... 56s Setting up python3-cwcwidth (0.1.10-1build2) ... 56s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 56s Setting up python3-mistletoe (1.4.0-1) ... 56s Setting up libexttextcat-data (3.4.7-1ubuntu1) ... 56s Setting up libapr1t64:amd64 (1.7.5-1) ... 56s Setting up libxslt1.1:amd64 (1.1.43-0.1) ... 56s Setting up python3-dateutil (2.9.0-4) ... 56s Setting up python3-levenshtein (0.27.1-2build1) ... 56s Setting up libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 56s Setting up python3-soupsieve (2.7-2) ... 56s Setting up python3-iniparse (0.5.1-1) ... 57s Setting up libaprutil1t64:amd64 (1.6.3-3ubuntu2) ... 57s Setting up python3-vobject (0.9.9+dfsg-1) ... 57s Setting up gettext (0.23.1-2build2) ... 57s Setting up python3-phply (1.2.6-1) ... 57s Setting up dictionaries-common (1.30.10) ... 57s Setting up libserf-1-1:amd64 (1.3.10-3ubuntu1) ... 57s Setting up python3-bs4 (4.13.4-3) ... 57s Setting up python3-lxml:amd64 (6.0.1-1build1) ... 57s Setting up hunspell-en-us (1:2020.12.07-4) ... 57s Setting up libsvn1:amd64 (1.14.5-3) ... 57s Setting up libenchant-2-2:amd64 (2.8.2+dfsg1-3) ... 57s Setting up subversion (1.14.5-3) ... 57s Setting up python3-enchant (3.3.0~rc1-1) ... 57s Setting up python3-translate (3.15.1-1) ... 57s Setting up translate-toolkit (3.15.1-1) ... 57s Processing triggers for libc-bin (2.42-0ubuntu3) ... 57s Processing triggers for man-db (2.13.1-1) ... 58s Processing triggers for install-info (7.1.1-1ubuntu1) ... 58s Processing triggers for dictionaries-common (1.30.10) ... 59s autopkgtest [07:12:24]: test translate-toolkit: [----------------------- 59s ========= SMOKE TEST: /usr/bin/android2po =========== 59s Usage: android2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 59s 59s Convert Android string files to Gettext PO localization files. See: 59s http://docs.translatehouse.org/projects/translate- 59s toolkit/en/latest/commands/android2po.html for examples and usage 59s instructions. 59s 59s Options: 59s --version show program's version number and exit 59s -h, --help show this help message and exit 59s --manpage output a manpage based on the help 59s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 59s --errorlevel=ERRORLEVEL 59s show errorlevel as: none, message, exception, 59s traceback 59s -i INPUT, --input=INPUT 59s read from INPUT in xml format 59s -x EXCLUDE, --exclude=EXCLUDE 59s exclude names matching EXCLUDE from input paths 59s -o OUTPUT, --output=OUTPUT 59s write to OUTPUT in po, pot formats 59s -t TEMPLATE, --template=TEMPLATE 59s read from TEMPLATE in xml format 59s -S, --timestamp skip conversion if the output file has newer timestamp 59s --duplicates=DUPLICATESTYLE 59s what to do with duplicate strings (identical source 59s text): merge, msgctxt (default: 'msgctxt') 59s ========= SMOKE TEST: /usr/bin/build_tmdb =========== 59s usage: build_tmdb [-h] [-d TMDB_FILE] [-s SOURCE_LANG] -t TARGET_LANG 59s input files [input files ...] 59s 59s positional arguments: 59s input files 59s 59s options: 59s -h, --help show this help message and exit 59s -d, --tmdb TMDB_FILE translation memory database file (default: tm.db) 59s -s, --import-source-lang SOURCE_LANG 59s source language of translation files (default: en) 59s -t, --import-target-lang TARGET_LANG 59s target language of translation files 59s ========= SMOKE TEST: /usr/bin/csv2po =========== 59s 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] 59s 59s Convert Comma-Separated Value (.csv) files to Gettext PO localization files. 59s See: http://docs.translatehouse.org/projects/translate- 59s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 59s 59s Options: 59s --version show program's version number and exit 59s -h, --help show this help message and exit 59s --manpage output a manpage based on the help 59s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 59s --errorlevel=ERRORLEVEL 59s show errorlevel as: none, message, exception, 59s traceback 59s -i INPUT, --input=INPUT 59s read from INPUT in csv format 59s -x EXCLUDE, --exclude=EXCLUDE 59s exclude names matching EXCLUDE from input paths 59s -o OUTPUT, --output=OUTPUT 59s write to OUTPUT in po, pot formats 59s -t TEMPLATE, --template=TEMPLATE 59s read from TEMPLATE in po, pot, pot formats 59s -S, --timestamp skip conversion if the output file has newer timestamp 59s -P, --pot output PO Templates (.pot) rather than PO files (.po) 59s --charset=CHARSET set charset to decode from csv files 59s --columnorder=COLUMNORDER 59s specify the order and position of columns 59s (location,source,target,context) 59s --duplicates=DUPLICATESTYLE 59s what to do with duplicate strings (identical source 59s text): merge, msgctxt (default: 'msgctxt') 59s ========= SMOKE TEST: /usr/bin/csv2tbx =========== 59s Usage: csv2tbx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 59s 59s Convert Comma-Separated Value (.csv) files to a TermBase eXchange (.tbx) 59s glossary file. See: http://docs.translatehouse.org/projects/translate- 59s toolkit/en/latest/commands/csv2tbx.html for examples and usage instructions 59s 59s Options: 59s --version show program's version number and exit 59s -h, --help show this help message and exit 59s --manpage output a manpage based on the help 59s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 59s --errorlevel=ERRORLEVEL 59s show errorlevel as: none, message, exception, 59s traceback 59s -i INPUT, --input=INPUT 59s read from INPUT in csv format 59s -x EXCLUDE, --exclude=EXCLUDE 59s exclude names matching EXCLUDE from input paths 59s -o OUTPUT, --output=OUTPUT 59s write to OUTPUT in tbx format 59s -S, --timestamp skip conversion if the output file has newer timestamp 59s --charset=CHARSET set charset to decode from csv files 59s --columnorder=COLUMNORDER 59s specify the order and position of columns 59s (comment,source,target) 60s ========= SMOKE TEST: /usr/bin/dtd2po =========== 60s 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] 60s 60s Convert a Mozilla .dtd UTF-8 localization format to a Gettext PO localization 60s file. Uses the po and dtd modules, and the dtd2po convertor class which is in 60s this module You can convert back to .dtd using po2dtd.py. 60s 60s Options: 60s --version show program's version number and exit 60s -h, --help show this help message and exit 60s --manpage output a manpage based on the help 60s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 60s --errorlevel=ERRORLEVEL 60s show errorlevel as: none, message, exception, 60s traceback 60s -i INPUT, --input=INPUT 60s read from INPUT in dtd format 60s -x EXCLUDE, --exclude=EXCLUDE 60s exclude names matching EXCLUDE from input paths 60s -o OUTPUT, --output=OUTPUT 60s write to OUTPUT in po, pot formats 60s -t TEMPLATE, --template=TEMPLATE 60s read from TEMPLATE in dtd format 60s -S, --timestamp skip conversion if the output file has newer timestamp 60s -P, --pot output PO Templates (.pot) rather than PO files (.po) 60s --duplicates=DUPLICATESTYLE 60s what to do with duplicate strings (identical source 60s text): merge, msgctxt (default: 'msgctxt') 60s ========= SMOKE TEST: /usr/bin/flatxml2po =========== 60s Usage: flatxml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 60s 60s Convert flat XML files to Gettext PO localization files. See: 60s http://docs.translatehouse.org/projects/translate- 60s toolkit/en/latest/commands/flatxml2po.html for examples and usage 60s instructions. 60s 60s Options: 60s --version show program's version number and exit 60s -h, --help show this help message and exit 60s --manpage output a manpage based on the help 60s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 60s --errorlevel=ERRORLEVEL 60s show errorlevel as: none, message, exception, 60s traceback 60s -i INPUT, --input=INPUT 60s read from INPUT in xml format 60s -x EXCLUDE, --exclude=EXCLUDE 60s exclude names matching EXCLUDE from input paths 60s -o OUTPUT, --output=OUTPUT 60s write to OUTPUT in po, pot formats 60s -S, --timestamp skip conversion if the output file has newer timestamp 60s -r ROOT, --root=ROOT name of the XML root element (default: "root") 60s -v VALUE, --value=VALUE 60s name of the XML value element (default: "str") 60s -k KEY, --key=KEY name of the XML key attribute (default: "key") 60s -n NS, --namespace=NS 60s XML namespace uri (default: None) 60s ========= SMOKE TEST: /usr/bin/html2po =========== 60s Usage: html2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 60s 60s Convert HTML files to Gettext PO localization files. See: 60s http://docs.translatehouse.org/projects/translate- 60s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 60s 60s Options: 60s --version show program's version number and exit 60s -h, --help show this help message and exit 60s --manpage output a manpage based on the help 60s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 60s --errorlevel=ERRORLEVEL 60s show errorlevel as: none, message, exception, 60s traceback 60s -i INPUT, --input=INPUT 60s read from INPUT in htm, html, xhtml formats 60s -x EXCLUDE, --exclude=EXCLUDE 60s exclude names matching EXCLUDE from input paths 60s -o OUTPUT, --output=OUTPUT 60s write to OUTPUT in po, pot formats 60s -S, --timestamp skip conversion if the output file has newer timestamp 60s -P, --pot output PO Templates (.pot) rather than PO files (.po) 60s --keepcomments preserve html comments as translation notes in the 60s output 60s --duplicates=DUPLICATESTYLE 60s what to do with duplicate strings (identical source 60s text): merge, msgctxt (default: 'msgctxt') 60s --multifile=MULTIFILESTYLE 60s how to split po/pot files (single, toplevel or 60s onefile) 60s ========= SMOKE TEST: /usr/bin/ical2po =========== 60s 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] 60s 60s Convert iCalendar files to Gettext PO localization files. See: 60s http://docs.translatehouse.org/projects/translate- 60s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 60s 60s Options: 60s --version show program's version number and exit 60s -h, --help show this help message and exit 60s --manpage output a manpage based on the help 60s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 60s --errorlevel=ERRORLEVEL 60s show errorlevel as: none, message, exception, 60s traceback 60s -i INPUT, --input=INPUT 60s read from INPUT in ics format 60s -x EXCLUDE, --exclude=EXCLUDE 60s exclude names matching EXCLUDE from input paths 60s -o OUTPUT, --output=OUTPUT 60s write to OUTPUT in po, pot formats 60s -t TEMPLATE, --template=TEMPLATE 60s read from TEMPLATE in ics format 60s -S, --timestamp skip conversion if the output file has newer timestamp 60s -P, --pot output PO Templates (.pot) rather than PO files (.po) 60s --duplicates=DUPLICATESTYLE 60s what to do with duplicate strings (identical source 60s text): merge, msgctxt (default: 'msgctxt') 60s ========= SMOKE TEST: /usr/bin/idml2po =========== 60s Usage: idml2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 60s 60s Convert IDML files to PO localization files. 60s 60s Options: 60s --version show program's version number and exit 60s -h, --help show this help message and exit 60s --manpage output a manpage based on the help 60s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 60s --errorlevel=ERRORLEVEL 60s show errorlevel as: none, message, exception, 60s traceback 60s -i INPUT, --input=INPUT 60s read from INPUT in idml format 60s -x EXCLUDE, --exclude=EXCLUDE 60s exclude names matching EXCLUDE from input paths 60s -o OUTPUT, --output=OUTPUT 60s write to OUTPUT in po, pot formats 60s -S, --timestamp skip conversion if the output file has newer timestamp 60s ========= SMOKE TEST: /usr/bin/ini2po =========== 60s 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] 60s 60s Convert .ini files to Gettext PO localization files. See: 60s http://docs.translatehouse.org/projects/translate- 60s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 60s 60s Options: 60s --version show program's version number and exit 60s -h, --help show this help message and exit 60s --manpage output a manpage based on the help 60s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 60s --errorlevel=ERRORLEVEL 60s show errorlevel as: none, message, exception, 60s traceback 60s -i INPUT, --input=INPUT 60s read from INPUT in ini, isl, iss formats 60s -x EXCLUDE, --exclude=EXCLUDE 60s exclude names matching EXCLUDE from input paths 60s -o OUTPUT, --output=OUTPUT 60s write to OUTPUT in po, pot formats 60s -t TEMPLATE, --template=TEMPLATE 60s read from TEMPLATE in ini, isl, iss formats 60s -S, --timestamp skip conversion if the output file has newer timestamp 60s -P, --pot output PO Templates (.pot) rather than PO files (.po) 60s --duplicates=DUPLICATESTYLE 60s what to do with duplicate strings (identical source 60s text): merge, msgctxt (default: 'msgctxt') 60s ========= SMOKE TEST: /usr/bin/json2po =========== 60s 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] 60s 60s Convert JSON files to Gettext PO localization files. See: 60s http://docs.translatehouse.org/projects/translate- 60s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 60s 60s Options: 60s --version show program's version number and exit 60s -h, --help show this help message and exit 60s --manpage output a manpage based on the help 60s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 60s --errorlevel=ERRORLEVEL 60s show errorlevel as: none, message, exception, 60s traceback 60s -i INPUT, --input=INPUT 60s read from INPUT in json format 60s -x EXCLUDE, --exclude=EXCLUDE 60s exclude names matching EXCLUDE from input paths 60s -o OUTPUT, --output=OUTPUT 60s write to OUTPUT in po, pot formats 60s -t TEMPLATE, --template=TEMPLATE 60s read from TEMPLATE in json format 60s -S, --timestamp skip conversion if the output file has newer timestamp 60s -P, --pot output PO Templates (.pot) rather than PO files (.po) 60s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 60s everything) 60s --duplicates=DUPLICATESTYLE 60s what to do with duplicate strings (identical source 60s text): merge, msgctxt (default: 'msgctxt') 60s ========= SMOKE TEST: /usr/bin/md2po =========== 60s Usage: md2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 60s 60s Convert Markdown files to Gettext PO localization files. See: 60s http://docs.translatehouse.org/projects/translate- 60s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 60s 60s Options: 60s --version show program's version number and exit 60s -h, --help show this help message and exit 60s --manpage output a manpage based on the help 60s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 60s --errorlevel=ERRORLEVEL 60s show errorlevel as: none, message, exception, 60s traceback 60s -i INPUT, --input=INPUT 60s read from INPUT in markdown, md, text, txt formats 60s -x EXCLUDE, --exclude=EXCLUDE 60s exclude names matching EXCLUDE from input paths 60s -o OUTPUT, --output=OUTPUT 60s write to OUTPUT in po, pot formats 60s -S, --timestamp skip conversion if the output file has newer timestamp 60s -P, --pot output PO Templates (.pot) rather than PO files (.po) 60s --duplicates=DUPLICATESTYLE 60s what to do with duplicate strings (identical source 60s text): merge, msgctxt (default: 'msgctxt') 60s --multifile=MULTIFILESTYLE 60s how to split po/pot files (single, toplevel or 60s onefile) 60s ========= SMOKE TEST: /usr/bin/moz2po =========== 61s 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] 61s 61s Convert Mozilla .dtd and .properties files to Gettext PO localization files. 61s See: http://docs.translatehouse.org/projects/translate- 61s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 61s 61s Options: 61s --version show program's version number and exit 61s -h, --help show this help message and exit 61s --manpage output a manpage based on the help 61s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 61s --errorlevel=ERRORLEVEL 61s show errorlevel as: none, message, exception, 61s traceback 61s -i INPUT, --input=INPUT 61s read from INPUT in *, dtd, inc, ini, it, js, lang, 61s manifest, properties, rdf formats 61s -x EXCLUDE, --exclude=EXCLUDE 61s exclude names matching EXCLUDE from input paths 61s -o OUTPUT, --output=OUTPUT 61s write to OUTPUT in *, dtd.po, dtd.pot, inc.po, 61s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 61s lang.pot, manifest, properties.po, properties.pot, rdf 61s formats 61s -t TEMPLATE, --template=TEMPLATE 61s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 61s manifest, properties, rdf formats 61s -S, --timestamp skip conversion if the output file has newer timestamp 61s -P, --pot output PO Templates (.pot) rather than PO files (.po) 61s --duplicates=DUPLICATESTYLE 61s what to do with duplicate strings (identical source 61s text): merge, msgctxt (default: 'msgctxt') 61s ========= SMOKE TEST: /usr/bin/mozlang2po =========== 61s Usage: mozlang2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 61s 61s Convert Mozilla .lang files to Gettext PO localization files. 61s 61s Options: 61s --version show program's version number and exit 61s -h, --help show this help message and exit 61s --manpage output a manpage based on the help 61s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 61s --errorlevel=ERRORLEVEL 61s show errorlevel as: none, message, exception, 61s traceback 61s -i INPUT, --input=INPUT 61s read from INPUT in lang format 61s -x EXCLUDE, --exclude=EXCLUDE 61s exclude names matching EXCLUDE from input paths 61s -o OUTPUT, --output=OUTPUT 61s write to OUTPUT in po, pot formats 61s -S, --timestamp skip conversion if the output file has newer timestamp 61s -P, --pot output PO Templates (.pot) rather than PO files (.po) 61s --encoding=ENCODING The encoding of the input file (default: UTF-8) 61s --duplicates=DUPLICATESTYLE 61s what to do with duplicate strings (identical source 61s text): merge, msgctxt (default: 'msgctxt') 61s ========= SMOKE TEST: /usr/bin/msghack =========== 61s Usage: /usr/bin/msghack [OPTION] file.po [ref.po] 61s This program can be used to alter .po files in ways no sane mind would think about. 61s -o result will be written to FILE 61s --invert invert a po file by switching msgid and msgstr 61s --master join any number of files in a master-formatted catalog 61s --empty empty the contents of the .po file, creating a .pot 61s --append append entries from ref.po that don't exist in file.po 61s 61s Note: It is just a replacement of msghack for backward support. 61s 61s ========= SMOKE TEST: /usr/bin/odf2xliff =========== 61s Usage: odf2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 61s 61s Convert OpenDocument (ODF) files to XLIFF localization files. See: 61s http://docs.translatehouse.org/projects/translate- 61s toolkit/en/latest/commands/odf2xliff.html for examples and usage instructions. 61s 61s Options: 61s --version show program's version number and exit 61s -h, --help show this help message and exit 61s --manpage output a manpage based on the help 61s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 61s --errorlevel=ERRORLEVEL 61s show errorlevel as: none, message, exception, 61s traceback 61s -i INPUT, --input=INPUT 61s read from INPUT in odc, odf, odg, odi, odm, odp, ods, 61s odt, otc, otf, otg, oth, oti, otp, ots, ott, sxw 61s formats 61s -x EXCLUDE, --exclude=EXCLUDE 61s exclude names matching EXCLUDE from input paths 61s -o OUTPUT, --output=OUTPUT 61s write to OUTPUT in xlf, xliff formats 61s -S, --timestamp skip conversion if the output file has newer timestamp 61s ========= SMOKE TEST: /usr/bin/oo2po =========== 61s Usage: oo2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 61s 61s Convert an OpenOffice.org (SDF) localization file to Gettext PO localization 61s files. See: http://docs.translatehouse.org/projects/translate- 61s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 61s 61s Options: 61s --version show program's version number and exit 61s -h, --help show this help message and exit 61s --manpage output a manpage based on the help 61s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 61s --errorlevel=ERRORLEVEL 61s show errorlevel as: none, message, exception, 61s traceback 61s -i INPUT, --input=INPUT 61s read from INPUT in oo, sdf formats 61s -x EXCLUDE, --exclude=EXCLUDE 61s exclude names matching EXCLUDE from input paths 61s -o OUTPUT, --output=OUTPUT 61s write to OUTPUT in po, pot formats 61s -S, --timestamp skip conversion if the output file has newer timestamp 61s -P, --pot output PO Templates (.pot) rather than PO files (.po) 61s -l LANG, --language=LANG 61s set target language to extract from oo file (e.g. af- 61s ZA) 61s --source-language=LANG 61s set source language code (default en-US) 61s --nonrecursiveinput don't treat the input oo as a recursive store 61s --duplicates=DUPLICATESTYLE 61s what to do with duplicate strings (identical source 61s text): merge, msgctxt (default: 'msgctxt') 61s --multifile=MULTIFILESTYLE 61s how to split po/pot files (single, toplevel or 61s onefile) 61s ========= SMOKE TEST: /usr/bin/oo2xliff =========== 61s Usage: oo2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 61s 61s Convert an OpenOffice.org (SDF) localization file to XLIFF localization 61s files. See: http://docs.translatehouse.org/projects/translate- 61s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 61s 61s Options: 61s --version show program's version number and exit 61s -h, --help show this help message and exit 61s --manpage output a manpage based on the help 61s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 61s --errorlevel=ERRORLEVEL 61s show errorlevel as: none, message, exception, 61s traceback 61s -i INPUT, --input=INPUT 61s read from INPUT in oo, sdf formats 61s -x EXCLUDE, --exclude=EXCLUDE 61s exclude names matching EXCLUDE from input paths 61s -o OUTPUT, --output=OUTPUT 61s write to OUTPUT in xlf, xliff formats 61s -S, --timestamp skip conversion if the output file has newer timestamp 61s -l LANG, --language=LANG 61s set target language to extract from oo file (e.g. af- 61s ZA) 61s --source-language=LANG 61s set source language code (default en-US) 61s --nonrecursiveinput don't treat the input oo as a recursive store 61s --duplicates=DUPLICATESTYLE 61s what to do with duplicate strings (identical source 61s text): merge, msgctxt (default: 'msgctxt') 61s --multifile=MULTIFILESTYLE 61s how to split po/pot files (single, toplevel or 61s onefile) 61s ========= SMOKE TEST: /usr/bin/php2po =========== 61s 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] 61s 61s Convert PHP localization files to Gettext PO localization files. See: 61s http://docs.translatehouse.org/projects/translate- 61s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 61s 61s Options: 61s --version show program's version number and exit 61s -h, --help show this help message and exit 61s --manpage output a manpage based on the help 61s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 61s --errorlevel=ERRORLEVEL 61s show errorlevel as: none, message, exception, 61s traceback 61s -i INPUT, --input=INPUT 61s read from INPUT in html, php formats 61s -x EXCLUDE, --exclude=EXCLUDE 61s exclude names matching EXCLUDE from input paths 61s -o OUTPUT, --output=OUTPUT 61s write to OUTPUT in po, pot formats 61s -t TEMPLATE, --template=TEMPLATE 61s read from TEMPLATE in html, php formats 61s -S, --timestamp skip conversion if the output file has newer timestamp 61s -P, --pot output PO Templates (.pot) rather than PO files (.po) 61s --duplicates=DUPLICATESTYLE 61s what to do with duplicate strings (identical source 61s text): merge, msgctxt (default: 'msgctxt') 61s ========= SMOKE TEST: /usr/bin/phppo2pypo =========== 61s Usage: phppo2pypo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 61s 61s Convert PHP format .po files to Python format .po files. 61s 61s Options: 61s --version show program's version number and exit 61s -h, --help show this help message and exit 61s --manpage output a manpage based on the help 61s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 61s --errorlevel=ERRORLEVEL 61s show errorlevel as: none, message, exception, 61s traceback 61s -i INPUT, --input=INPUT 61s read from INPUT in po, pot formats 61s -x EXCLUDE, --exclude=EXCLUDE 61s exclude names matching EXCLUDE from input paths 61s -o OUTPUT, --output=OUTPUT 61s write to OUTPUT in po, pot formats 61s -S, --timestamp skip conversion if the output file has newer timestamp 61s ========= SMOKE TEST: /usr/bin/po2csv =========== 61s Usage: po2csv [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 61s 61s Convert Gettext PO localization files to Comma-Separated Value (.csv) files. 61s See: http://docs.translatehouse.org/projects/translate- 61s toolkit/en/latest/commands/csv2po.html for examples and usage instructions. 61s 61s Options: 61s --version show program's version number and exit 61s -h, --help show this help message and exit 61s --manpage output a manpage based on the help 61s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 61s --errorlevel=ERRORLEVEL 61s show errorlevel as: none, message, exception, 61s traceback 61s -i INPUT, --input=INPUT 61s read from INPUT in po, pot formats 61s -x EXCLUDE, --exclude=EXCLUDE 61s exclude names matching EXCLUDE from input paths 61s -o OUTPUT, --output=OUTPUT 61s write to OUTPUT in csv format 61s -S, --timestamp skip conversion if the output file has newer timestamp 61s --columnorder=COLUMNORDER 61s specify the order and position of columns 61s (location,source,target,context) 61s ========= SMOKE TEST: /usr/bin/po2dtd =========== 61s Usage: po2dtd [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 61s 61s Converts a Gettext PO file to a UTF-8 encoded Mozilla .dtd file. .. note: 61s Conversion is either done using a template plus PO file or just using the 61s .po file. 61s 61s Options: 61s --version show program's version number and exit 61s -h, --help show this help message and exit 61s --manpage output a manpage based on the help 61s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 61s --errorlevel=ERRORLEVEL 61s show errorlevel as: none, message, exception, 61s traceback 61s -i INPUT, --input=INPUT 61s read from INPUT in po, pot formats 61s -x EXCLUDE, --exclude=EXCLUDE 61s exclude names matching EXCLUDE from input paths 61s -o OUTPUT, --output=OUTPUT 61s write to OUTPUT in dtd format 61s -t TEMPLATE, --template=TEMPLATE 61s read from TEMPLATE in dtd format 61s -S, --timestamp skip conversion if the output file has newer timestamp 61s --threshold=PERCENT only convert files where the translation completion is 61s above PERCENT 61s --fuzzy use translations marked fuzzy 61s --nofuzzy don't use translations marked fuzzy (default) 61s --removeuntranslated remove untranslated strings from output 61s ========= SMOKE TEST: /usr/bin/po2flatxml =========== 61s Usage: po2flatxml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 61s 61s Convert Gettext PO localization files to flat XML files. See: 61s http://docs.translatehouse.org/projects/translate- 61s toolkit/en/latest/commands/flatxml2po.html for examples and usage 61s instructions. 61s 61s Options: 61s --version show program's version number and exit 61s -h, --help show this help message and exit 61s --manpage output a manpage based on the help 61s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 61s --errorlevel=ERRORLEVEL 61s show errorlevel as: none, message, exception, 61s traceback 61s -i INPUT, --input=INPUT 61s read from INPUT in po, pot formats 61s -x EXCLUDE, --exclude=EXCLUDE 61s exclude names matching EXCLUDE from input paths 61s -o OUTPUT, --output=OUTPUT 61s write to OUTPUT in xml format 61s -t TEMPLATE, --template=TEMPLATE 61s read from TEMPLATE in xml format 61s -S, --timestamp skip conversion if the output file has newer timestamp 61s -r ROOT, --root=ROOT name of the XML root element (default: "root") 61s -v VALUE, --value=VALUE 61s name of the XML value element (default: "str") 61s -k KEY, --key=KEY name of the XML key attribute (default: "key") 61s -n NS, --namespace=NS 61s XML namespace uri (default: None) 61s -w INDENT, --indent=INDENT 61s indent width in spaces, 0 for no indent (default: 2) 61s ========= SMOKE TEST: /usr/bin/po2html =========== 61s Usage: po2html [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 61s 61s Translate HTML files using Gettext PO localization files. See: 61s http://docs.translatehouse.org/projects/translate- 61s toolkit/en/latest/commands/html2po.html for examples and usage instructions. 61s 61s Options: 61s --version show program's version number and exit 61s -h, --help show this help message and exit 61s --manpage output a manpage based on the help 61s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 61s --errorlevel=ERRORLEVEL 61s show errorlevel as: none, message, exception, 61s traceback 61s -i INPUT, --input=INPUT 61s read from INPUT in po, pot formats 61s -x EXCLUDE, --exclude=EXCLUDE 61s exclude names matching EXCLUDE from input paths 61s -o OUTPUT, --output=OUTPUT 61s write to OUTPUT in htm, html, xhtml formats 61s -t TEMPLATE, --template=TEMPLATE 61s read from TEMPLATE in htm, html, xhtml formats 61s -S, --timestamp skip conversion if the output file has newer timestamp 61s --threshold=PERCENT only convert files where the translation completion is 61s above PERCENT 61s --fuzzy use translations marked fuzzy 61s --nofuzzy don't use translations marked fuzzy (default) 61s ========= SMOKE TEST: /usr/bin/po2ical =========== 62s Usage: po2ical [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 62s 62s Convert Gettext PO localization files to iCalendar files. See: 62s http://docs.translatehouse.org/projects/translate- 62s toolkit/en/latest/commands/ical2po.html for examples and usage instructions. 62s 62s Options: 62s --version show program's version number and exit 62s -h, --help show this help message and exit 62s --manpage output a manpage based on the help 62s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 62s --errorlevel=ERRORLEVEL 62s show errorlevel as: none, message, exception, 62s traceback 62s -i INPUT, --input=INPUT 62s read from INPUT in po, pot formats 62s -x EXCLUDE, --exclude=EXCLUDE 62s exclude names matching EXCLUDE from input paths 62s -o OUTPUT, --output=OUTPUT 62s write to OUTPUT in ics format 62s -t TEMPLATE, --template=TEMPLATE 62s read from TEMPLATE in ics format 62s -S, --timestamp skip conversion if the output file has newer timestamp 62s --threshold=PERCENT only convert files where the translation completion is 62s above PERCENT 62s --fuzzy use translations marked fuzzy 62s --nofuzzy don't use translations marked fuzzy (default) 62s ========= SMOKE TEST: /usr/bin/po2idml =========== 62s Usage: po2idml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 62s 62s Takes an IDML template file and a PO file containing translations of strings 62s in the IDML template. It creates a new IDML file using the translations of the 62s PO file. 62s 62s Options: 62s --version show program's version number and exit 62s -h, --help show this help message and exit 62s --manpage output a manpage based on the help 62s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 62s --errorlevel=ERRORLEVEL 62s show errorlevel as: none, message, exception, 62s traceback 62s -i INPUT, --input=INPUT 62s read from INPUT in po, pot formats 62s -x EXCLUDE, --exclude=EXCLUDE 62s exclude names matching EXCLUDE from input paths 62s -o OUTPUT, --output=OUTPUT 62s write to OUTPUT in idml format 62s -t TEMPLATE, --template=TEMPLATE 62s read from TEMPLATE in idml format 62s -S, --timestamp skip conversion if the output file has newer timestamp 62s ========= SMOKE TEST: /usr/bin/po2ini =========== 62s Usage: po2ini [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 62s 62s Convert Gettext PO localization files to .ini files. See: 62s http://docs.translatehouse.org/projects/translate- 62s toolkit/en/latest/commands/ini2po.html for examples and usage instructions. 62s 62s Options: 62s --version show program's version number and exit 62s -h, --help show this help message and exit 62s --manpage output a manpage based on the help 62s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 62s --errorlevel=ERRORLEVEL 62s show errorlevel as: none, message, exception, 62s traceback 62s -i INPUT, --input=INPUT 62s read from INPUT in po, pot formats 62s -x EXCLUDE, --exclude=EXCLUDE 62s exclude names matching EXCLUDE from input paths 62s -o OUTPUT, --output=OUTPUT 62s write to OUTPUT in ini, isl formats 62s -t TEMPLATE, --template=TEMPLATE 62s read from TEMPLATE in ini, isl formats 62s -S, --timestamp skip conversion if the output file has newer timestamp 62s --threshold=PERCENT only convert files where the translation completion is 62s above PERCENT 62s --fuzzy use translations marked fuzzy 62s --nofuzzy don't use translations marked fuzzy (default) 62s ========= SMOKE TEST: /usr/bin/po2json =========== 62s Usage: po2json [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 62s 62s Convert Gettext PO localization files to JSON files. See: 62s http://docs.translatehouse.org/projects/translate- 62s toolkit/en/latest/commands/json2po.html for examples and usage instructions. 62s 62s Options: 62s --version show program's version number and exit 62s -h, --help show this help message and exit 62s --manpage output a manpage based on the help 62s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 62s --errorlevel=ERRORLEVEL 62s show errorlevel as: none, message, exception, 62s traceback 62s -i INPUT, --input=INPUT 62s read from INPUT in po, pot formats 62s -x EXCLUDE, --exclude=EXCLUDE 62s exclude names matching EXCLUDE from input paths 62s -o OUTPUT, --output=OUTPUT 62s write to OUTPUT in json format 62s -t TEMPLATE, --template=TEMPLATE 62s read from TEMPLATE in json format 62s -S, --timestamp skip conversion if the output file has newer timestamp 62s --threshold=PERCENT only convert files where the translation completion is 62s above PERCENT 62s --fuzzy use translations marked fuzzy 62s --nofuzzy don't use translations marked fuzzy (default) 62s --removeuntranslated remove untranslated strings from output 62s ========= SMOKE TEST: /usr/bin/po2md =========== 62s Usage: po2md [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 62s 62s Translate Markdown files using Gettext PO localization files. See: 62s http://docs.translatehouse.org/projects/translate- 62s toolkit/en/latest/commands/md2po.html for examples and usage instructions. 62s 62s Options: 62s --version show program's version number and exit 62s -h, --help show this help message and exit 62s --manpage output a manpage based on the help 62s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 62s --errorlevel=ERRORLEVEL 62s show errorlevel as: none, message, exception, 62s traceback 62s -i INPUT, --input=INPUT 62s read from INPUT in po, pot formats 62s -x EXCLUDE, --exclude=EXCLUDE 62s exclude names matching EXCLUDE from input paths 62s -o OUTPUT, --output=OUTPUT 62s write to OUTPUT in markdown, md, text, txt formats 62s -t TEMPLATE, --template=TEMPLATE 62s read from TEMPLATE in markdown, md, text, txt formats 62s -S, --timestamp skip conversion if the output file has newer timestamp 62s -m MAXLENGTH, --maxlinelength=MAXLENGTH 62s reflow (word wrap) the output to the given maximum 62s line length. set to 0 to disable 62s --threshold=PERCENT only convert files where the translation completion is 62s above PERCENT 62s --fuzzy use translations marked fuzzy 62s --nofuzzy don't use translations marked fuzzy (default) 62s ========= SMOKE TEST: /usr/bin/po2moz =========== 62s Usage: po2moz [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 62s 62s Convert Gettext PO localization files to Mozilla .dtd and .properties files. 62s See: http://docs.translatehouse.org/projects/translate- 62s toolkit/en/latest/commands/moz2po.html for examples and usage instructions. 62s 62s Options: 62s --version show program's version number and exit 62s -h, --help show this help message and exit 62s --manpage output a manpage based on the help 62s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 62s --errorlevel=ERRORLEVEL 62s show errorlevel as: none, message, exception, 62s traceback 62s -i INPUT, --input=INPUT 62s read from INPUT in *, dtd.po, dtd.pot, inc.po, 62s inc.pot, ini.po, ini.pot, it.po, it.pot, js, lang.po, 62s lang.pot, manifest, properties.po, properties.pot, rdf 62s formats 62s -x EXCLUDE, --exclude=EXCLUDE 62s exclude names matching EXCLUDE from input paths 62s -o OUTPUT, --output=OUTPUT 62s write to OUTPUT in *, dtd, inc, ini, it, js, lang, 62s manifest, properties, rdf formats 62s -t TEMPLATE, --template=TEMPLATE 62s read from TEMPLATE in *, dtd, inc, ini, it, js, lang, 62s manifest, properties, rdf formats 62s -S, --timestamp skip conversion if the output file has newer timestamp 62s -l LOCALE, --locale=LOCALE 62s set output locale (required as this sets the directory 62s names) 62s --threshold=PERCENT only convert files where the translation completion is 62s above PERCENT 62s --fuzzy use translations marked fuzzy 62s --nofuzzy don't use translations marked fuzzy (default) 62s --removeuntranslated remove untranslated strings from output 62s ========= SMOKE TEST: /usr/bin/po2mozlang =========== 62s Usage: po2mozlang [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 62s 62s Convert Gettext PO localization files to Mozilla .lang files. 62s 62s Options: 62s --version show program's version number and exit 62s -h, --help show this help message and exit 62s --manpage output a manpage based on the help 62s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 62s --errorlevel=ERRORLEVEL 62s show errorlevel as: none, message, exception, 62s traceback 62s -i INPUT, --input=INPUT 62s read from INPUT in po, pot formats 62s -x EXCLUDE, --exclude=EXCLUDE 62s exclude names matching EXCLUDE from input paths 62s -o OUTPUT, --output=OUTPUT 62s write to OUTPUT in lang format 62s -t TEMPLATE, --template=TEMPLATE 62s read from TEMPLATE in lang format 62s -S, --timestamp skip conversion if the output file has newer timestamp 62s --mark-active mark the file as active 62s --threshold=PERCENT only convert files where the translation completion is 62s above PERCENT 62s --fuzzy use translations marked fuzzy 62s --nofuzzy don't use translations marked fuzzy (default) 62s ========= SMOKE TEST: /usr/bin/po2oo =========== 62s Usage: po2oo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 62s 62s Convert Gettext PO localization files to an OpenOffice.org (SDF) localization 62s file. See: http://docs.translatehouse.org/projects/translate- 62s toolkit/en/latest/commands/oo2po.html for examples and usage instructions. 62s 62s Options: 62s --version show program's version number and exit 62s -h, --help show this help message and exit 62s --manpage output a manpage based on the help 62s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 62s --errorlevel=ERRORLEVEL 62s show errorlevel as: none, message, exception, 62s traceback 62s -i INPUT, --input=INPUT 62s read from INPUT in po, pot, xlf, xliff formats 62s -x EXCLUDE, --exclude=EXCLUDE 62s exclude names matching EXCLUDE from input paths 62s -o OUTPUT, --output=OUTPUT 62s write to OUTPUT in oo, sdf formats 62s -t TEMPLATE, --template=TEMPLATE 62s read from TEMPLATE in oo, sdf formats 62s -S, --timestamp skip conversion if the output file has newer timestamp 62s -l LANG, --language=LANG 62s set target language code (e.g. af-ZA) [required] 62s --source-language=LANG 62s set source language code (default en-US) 62s -T, --keeptimestamp don't change the timestamps of the strings 62s --nonrecursiveoutput don't treat the output oo as a recursive store 62s --nonrecursivetemplate 62s don't treat the template oo as a recursive store 62s --skipsource don't output the source language, but fallback to it 62s where needed 62s --filteraction=ACTION 62s action on pofilter failure: none (default), warn, 62s exclude-serious, exclude-all 62s --threshold=PERCENT only convert files where the translation completion is 62s above PERCENT 62s --fuzzy use translations marked fuzzy 62s --nofuzzy don't use translations marked fuzzy (default) 62s --multifile=MULTIFILESTYLE 62s how to split po/pot files (single, toplevel or 62s onefile) 62s ========= SMOKE TEST: /usr/bin/po2php =========== 62s Usage: po2php [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 62s 62s Convert Gettext PO localization files to PHP localization files. See: 62s http://docs.translatehouse.org/projects/translate- 62s toolkit/en/latest/commands/php2po.html for examples and usage instructions. 62s 62s Options: 62s --version show program's version number and exit 62s -h, --help show this help message and exit 62s --manpage output a manpage based on the help 62s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 62s --errorlevel=ERRORLEVEL 62s show errorlevel as: none, message, exception, 62s traceback 62s -i INPUT, --input=INPUT 62s read from INPUT in po, pot formats 62s -x EXCLUDE, --exclude=EXCLUDE 62s exclude names matching EXCLUDE from input paths 62s -o OUTPUT, --output=OUTPUT 62s write to OUTPUT in html, php formats 62s -t TEMPLATE, --template=TEMPLATE 62s read from TEMPLATE in html, php formats 62s -S, --timestamp skip conversion if the output file has newer timestamp 62s --threshold=PERCENT only convert files where the translation completion is 62s above PERCENT 62s --fuzzy use translations marked fuzzy 62s --nofuzzy don't use translations marked fuzzy (default) 63s ========= SMOKE TEST: /usr/bin/po2prop =========== 63s Usage: po2prop [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 63s 63s Convert Gettext PO localization files to Java/Mozilla .properties files. 63s See: http://docs.translatehouse.org/projects/translate- 63s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 63s 63s Options: 63s --version show program's version number and exit 63s -h, --help show this help message and exit 63s --manpage output a manpage based on the help 63s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 63s --errorlevel=ERRORLEVEL 63s show errorlevel as: none, message, exception, 63s traceback 63s -i INPUT, --input=INPUT 63s read from INPUT in po, pot formats 63s -x EXCLUDE, --exclude=EXCLUDE 63s exclude names matching EXCLUDE from input paths 63s -o OUTPUT, --output=OUTPUT 63s write to OUTPUT in lang, properties, strings formats 63s -t TEMPLATE, --template=TEMPLATE 63s read from TEMPLATE in lang, properties, strings 63s formats 63s -S, --timestamp skip conversion if the output file has newer timestamp 63s --personality=TYPE override the input file format: java, java-utf8, java- 63s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 63s strings, strings-utf8, joomla (for .properties files, 63s default: java) 63s --encoding=ENCODING override the encoding set by the personality 63s --threshold=PERCENT only convert files where the translation completion is 63s above PERCENT 63s --fuzzy use translations marked fuzzy 63s --nofuzzy don't use translations marked fuzzy (default) 63s --removeuntranslated remove untranslated strings from output 63s ========= SMOKE TEST: /usr/bin/po2rc =========== 63s Usage: po2rc [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 63s 63s Convert Gettext PO localization files back to Windows Resource (.rc) files. 63s See: http://docs.translatehouse.org/projects/translate- 63s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 63s 63s Options: 63s --version show program's version number and exit 63s -h, --help show this help message and exit 63s --manpage output a manpage based on the help 63s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 63s --errorlevel=ERRORLEVEL 63s show errorlevel as: none, message, exception, 63s traceback 63s -i INPUT, --input=INPUT 63s read from INPUT in po, pot formats 63s -x EXCLUDE, --exclude=EXCLUDE 63s exclude names matching EXCLUDE from input paths 63s -o OUTPUT, --output=OUTPUT 63s write to OUTPUT in rc format 63s -t TEMPLATE, --template=TEMPLATE 63s read from TEMPLATE in rc format 63s -S, --timestamp skip conversion if the output file has newer timestamp 63s --charset=CHARSET charset to use to decode the template RC files 63s (default: utf-8) 63s --charset-output=CHARSET 63s charset to use to encode the RC file (default: auto) 63s -l LANG, --lang=LANG LANG entry 63s --sublang=SUBLANG SUBLANG entry (default: SUBLANG_DEFAULT) 63s --threshold=PERCENT only convert files where the translation completion is 63s above PERCENT 63s --fuzzy use translations marked fuzzy 63s --nofuzzy don't use translations marked fuzzy (default) 63s ========= SMOKE TEST: /usr/bin/po2resx =========== 63s Usage: po2resx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 63s 63s Convert Gettext PO localisation files to .Net Resource (.resx) files. See: 63s http://docs.translatehouse.org/projects/translate- 63s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 63s 63s Options: 63s --version show program's version number and exit 63s -h, --help show this help message and exit 63s --manpage output a manpage based on the help 63s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 63s --errorlevel=ERRORLEVEL 63s show errorlevel as: none, message, exception, 63s traceback 63s -i INPUT, --input=INPUT 63s read from INPUT in po, pot formats 63s -x EXCLUDE, --exclude=EXCLUDE 63s exclude names matching EXCLUDE from input paths 63s -o OUTPUT, --output=OUTPUT 63s write to OUTPUT in resx format 63s -t TEMPLATE, --template=TEMPLATE 63s read from TEMPLATE in resx format 63s -S, --timestamp skip conversion if the output file has newer timestamp 63s --fuzzy use translations marked fuzzy 63s --nofuzzy don't use translations marked fuzzy (default) 63s ========= SMOKE TEST: /usr/bin/po2sub =========== 63s Usage: po2sub [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 63s 63s Convert Gettext PO localization files to subtitle files. See: 63s http://docs.translatehouse.org/projects/translate- 63s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 63s 63s Options: 63s --version show program's version number and exit 63s -h, --help show this help message and exit 63s --manpage output a manpage based on the help 63s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 63s --errorlevel=ERRORLEVEL 63s show errorlevel as: none, message, exception, 63s traceback 63s -i INPUT, --input=INPUT 63s read from INPUT in po, pot formats 63s -x EXCLUDE, --exclude=EXCLUDE 63s exclude names matching EXCLUDE from input paths 63s -o OUTPUT, --output=OUTPUT 63s write to OUTPUT in ass, srt, ssa, sub formats 63s -t TEMPLATE, --template=TEMPLATE 63s read from TEMPLATE in ass, srt, ssa, sub formats 63s -S, --timestamp skip conversion if the output file has newer timestamp 63s --threshold=PERCENT only convert files where the translation completion is 63s above PERCENT 63s --fuzzy use translations marked fuzzy 63s --nofuzzy don't use translations marked fuzzy (default) 63s ========= SMOKE TEST: /usr/bin/po2symb =========== 63s Usage: po2symb [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 63s 63s Convert Gettext PO localization files to Symbian translation files. See: 63s http://docs.translatehouse.org/projects/translate- 63s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 63s 63s Options: 63s --version show program's version number and exit 63s -h, --help show this help message and exit 63s --manpage output a manpage based on the help 63s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 63s --errorlevel=ERRORLEVEL 63s show errorlevel as: none, message, exception, 63s traceback 63s -i INPUT, --input=INPUT 63s read from INPUT in po, pot formats 63s -x EXCLUDE, --exclude=EXCLUDE 63s exclude names matching EXCLUDE from input paths 63s -o OUTPUT, --output=OUTPUT 63s write to OUTPUT in r0 format 63s -t TEMPLATE, --template=TEMPLATE 63s read from TEMPLATE in 63s -S, --timestamp skip conversion if the output file has newer timestamp 63s --duplicates=DUPLICATESTYLE 63s what to do with duplicate strings (identical source 63s text): merge, msgctxt (default: 'msgctxt') 63s ========= SMOKE TEST: /usr/bin/po2tiki =========== 63s Usage: po2tiki [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 63s 63s Convert Gettext PO files to TikiWiki's language.php files. See: 63s http://docs.translatehouse.org/projects/translate- 63s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 63s 63s Options: 63s --version show program's version number and exit 63s -h, --help show this help message and exit 63s --manpage output a manpage based on the help 63s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 63s --errorlevel=ERRORLEVEL 63s show errorlevel as: none, message, exception, 63s traceback 63s -i INPUT, --input=INPUT 63s read from INPUT in po, pot formats 63s -x EXCLUDE, --exclude=EXCLUDE 63s exclude names matching EXCLUDE from input paths 63s -o OUTPUT, --output=OUTPUT 63s write to OUTPUT in tiki format 63s -S, --timestamp skip conversion if the output file has newer timestamp 63s ========= SMOKE TEST: /usr/bin/po2tmx =========== 63s Usage: po2tmx [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 63s 63s Convert Gettext PO localization files to a TMX (Translation Memory eXchange) 63s file. See: http://docs.translatehouse.org/projects/translate- 63s toolkit/en/latest/commands/po2tmx.html for examples and usage instructions. 63s 63s Options: 63s --version show program's version number and exit 63s -h, --help show this help message and exit 63s --manpage output a manpage based on the help 63s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 63s --errorlevel=ERRORLEVEL 63s show errorlevel as: none, message, exception, 63s traceback 63s -i INPUT, --input=INPUT 63s read from INPUT in po, pot formats 63s -x EXCLUDE, --exclude=EXCLUDE 63s exclude names matching EXCLUDE from input paths 63s -o OUTPUT, --output=OUTPUT 63s write to OUTPUT in tmx format 63s -S, --timestamp skip conversion if the output file has newer timestamp 63s -l LANG, --language=LANG 63s set target language code (e.g. af-ZA) [required] 63s --source-language=LANG 63s set source language code (default: en) 63s --comments=COMMENT set default comment import: none, source, type or 63s others (default: none) 63s ========= SMOKE TEST: /usr/bin/po2ts =========== 63s Usage: po2ts [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 63s 63s Convert Gettext PO localization files to Qt Linguist (.ts) files. See: 63s http://docs.translatehouse.org/projects/translate- 63s toolkit/en/latest/commands/ts2po.html for examples and usage instructions. 63s 63s Options: 63s --version show program's version number and exit 63s -h, --help show this help message and exit 63s --manpage output a manpage based on the help 63s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 63s --errorlevel=ERRORLEVEL 63s show errorlevel as: none, message, exception, 63s traceback 63s -i INPUT, --input=INPUT 63s read from INPUT in po, pot formats 63s -x EXCLUDE, --exclude=EXCLUDE 63s exclude names matching EXCLUDE from input paths 63s -o OUTPUT, --output=OUTPUT 63s write to OUTPUT in ts format 63s -t TEMPLATE, --template=TEMPLATE 63s read from TEMPLATE in ts format 63s -S, --timestamp skip conversion if the output file has newer timestamp 63s -c CONTEXT, --context=CONTEXT 63s use supplied context instead of the one in the .po 63s file comment 63s ========= SMOKE TEST: /usr/bin/po2txt =========== 63s Usage: po2txt [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 63s 63s Convert Gettext PO localization files to plain text (.txt) files. See: 63s http://docs.translatehouse.org/projects/translate- 63s toolkit/en/latest/commands/txt2po.html for examples and usage instructions. 63s 63s Options: 63s --version show program's version number and exit 63s -h, --help show this help message and exit 63s --manpage output a manpage based on the help 63s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 63s --errorlevel=ERRORLEVEL 63s show errorlevel as: none, message, exception, 63s traceback 63s -i INPUT, --input=INPUT 63s read from INPUT in po, pot, xlf, xliff formats 63s -x EXCLUDE, --exclude=EXCLUDE 63s exclude names matching EXCLUDE from input paths 63s -o OUTPUT, --output=OUTPUT 63s write to OUTPUT in txt format 63s -t TEMPLATE, --template=TEMPLATE 63s read from TEMPLATE in txt format 63s -S, --timestamp skip conversion if the output file has newer timestamp 63s --encoding=ENCODING The encoding of the template file (default: UTF-8) 63s -w WRAP, --wrap=WRAP set number of columns to wrap text at 63s --threshold=PERCENT only convert files where the translation completion is 63s above PERCENT 63s --fuzzy use translations marked fuzzy 63s --nofuzzy don't use translations marked fuzzy (default) 63s ========= SMOKE TEST: /usr/bin/po2web2py =========== 63s Usage: po2web2py [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 63s 63s Convert GNU/gettext PO files to web2py translation dictionaries (.py). See: 63s http://docs.translatehouse.org/projects/translate- 63s toolkit/en/latest/commands/web2py2po.html for examples and usage instructions. 63s 63s Options: 63s --version show program's version number and exit 63s -h, --help show this help message and exit 63s --manpage output a manpage based on the help 63s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 63s --errorlevel=ERRORLEVEL 63s show errorlevel as: none, message, exception, 63s traceback 63s -i INPUT, --input=INPUT 63s read from INPUT in po, pot formats 63s -x EXCLUDE, --exclude=EXCLUDE 63s exclude names matching EXCLUDE from input paths 63s -o OUTPUT, --output=OUTPUT 63s write to OUTPUT in py format 63s -S, --timestamp skip conversion if the output file has newer timestamp 63s --threshold=PERCENT only convert files where the translation completion is 63s above PERCENT 63s --fuzzy use translations marked fuzzy 63s --nofuzzy don't use translations marked fuzzy (default) 63s ========= SMOKE TEST: /usr/bin/po2wordfast =========== 63s Usage: po2wordfast [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 63s 63s Convert Gettext PO localization files to a Wordfast translation memory file. 63s See: http://docs.translatehouse.org/projects/translate- 63s toolkit/en/latest/commands/po2wordfast.html for examples and usage 63s instructions. 63s 63s Options: 63s --version show program's version number and exit 63s -h, --help show this help message and exit 63s --manpage output a manpage based on the help 63s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 63s --errorlevel=ERRORLEVEL 63s show errorlevel as: none, message, exception, 63s traceback 63s -i INPUT, --input=INPUT 63s read from INPUT in po, pot formats 63s -x EXCLUDE, --exclude=EXCLUDE 63s exclude names matching EXCLUDE from input paths 63s -o OUTPUT, --output=OUTPUT 63s write to OUTPUT in txt format 63s -S, --timestamp skip conversion if the output file has newer timestamp 63s -l LANG, --language=LANG 63s set target language code (e.g. af-ZA) [required] 63s --source-language=LANG 63s set source language code (default: en) 63s ========= SMOKE TEST: /usr/bin/po2xliff =========== 63s Usage: po2xliff [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 63s 63s Convert Gettext PO localization files to XLIFF localization files. See: 63s http://docs.translatehouse.org/projects/translate- 63s toolkit/en/latest/commands/xliff2po.html for examples and usage instructions. 63s 63s Options: 63s --version show program's version number and exit 63s -h, --help show this help message and exit 63s --manpage output a manpage based on the help 63s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 63s --errorlevel=ERRORLEVEL 63s show errorlevel as: none, message, exception, 63s traceback 63s -i INPUT, --input=INPUT 63s read from INPUT in po, pot formats 63s -x EXCLUDE, --exclude=EXCLUDE 63s exclude names matching EXCLUDE from input paths 63s -o OUTPUT, --output=OUTPUT 63s write to OUTPUT in xlf, xliff formats 63s -t TEMPLATE, --template=TEMPLATE 63s read from TEMPLATE in xlf, xliff formats 63s -S, --timestamp skip conversion if the output file has newer timestamp 64s ========= SMOKE TEST: /usr/bin/po2yaml =========== 64s Usage: po2yaml [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 64s 64s Convert Gettext PO localization files to YAML files. See: 64s http://docs.translatehouse.org/projects/translate- 64s toolkit/en/latest/commands/yaml2po.html for examples and usage instructions. 64s 64s Options: 64s --version show program's version number and exit 64s -h, --help show this help message and exit 64s --manpage output a manpage based on the help 64s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 64s --errorlevel=ERRORLEVEL 64s show errorlevel as: none, message, exception, 64s traceback 64s -i INPUT, --input=INPUT 64s read from INPUT in po, pot formats 64s -x EXCLUDE, --exclude=EXCLUDE 64s exclude names matching EXCLUDE from input paths 64s -o OUTPUT, --output=OUTPUT 64s write to OUTPUT in yaml, yml formats 64s -t TEMPLATE, --template=TEMPLATE 64s read from TEMPLATE in yaml, yml formats 64s -S, --timestamp skip conversion if the output file has newer timestamp 64s --threshold=PERCENT only convert files where the translation completion is 64s above PERCENT 64s --fuzzy use translations marked fuzzy 64s --nofuzzy don't use translations marked fuzzy (default) 64s ========= SMOKE TEST: /usr/bin/poclean =========== 64s Usage: poclean [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 64s 64s Produces a clean file from an unclean file (Trados/Wordfast) by stripping out 64s the tw4win indicators. This does not convert an RTF file to PO/XLIFF, but 64s produces the target file with only the target text in from a text version of 64s the RTF. 64s 64s Options: 64s --version show program's version number and exit 64s -h, --help show this help message and exit 64s --manpage output a manpage based on the help 64s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 64s --errorlevel=ERRORLEVEL 64s show errorlevel as: none, message, exception, 64s traceback 64s -i INPUT, --input=INPUT 64s read from INPUT in po, pot, xlf, xliff formats 64s -x EXCLUDE, --exclude=EXCLUDE 64s exclude names matching EXCLUDE from input paths 64s -o OUTPUT, --output=OUTPUT 64s write to OUTPUT in po, pot, xlf, xliff formats 64s -S, --timestamp skip conversion if the output file has newer timestamp 64s ========= SMOKE TEST: /usr/bin/pocompendium =========== 64s Usage: pocompendium [options] output.po <-d directory(s)|file(s)> 64s The first parameter is the output file, standard output if the output file is '-'. 64s Any number of directories may be specified for input files. 64s Options: 64s --invert|v Creates an inverse compendium with msgid and msgstr swapped 64s --errors|e Only ouput msg bundles that have errors 64s --correct|c Only ouput msg bundles that are correctly translated 64s --ignore-case|i Drops all strings to lowercase 64s --strip-accel-tilde|-st Strip all tilde (~) accelerator characters 64s --strip-accel-amp|-sa Strip all ampersand (&) accelerator characters 64s --strip-accel-under|-su Strip all underscore (_) accelerator characters 64s ========= SMOKE TEST: /usr/bin/pocompile =========== 64s Usage: pocompile [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 64s 64s Compile XLIFF and Gettext PO localization files into Gettext MO (Machine 64s Object) files. See: http://docs.translatehouse.org/projects/translate- 64s toolkit/en/latest/commands/pocompile.html for examples and usage instructions. 64s 64s Options: 64s --version show program's version number and exit 64s -h, --help show this help message and exit 64s --manpage output a manpage based on the help 64s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 64s --errorlevel=ERRORLEVEL 64s show errorlevel as: none, message, exception, 64s traceback 64s -i INPUT, --input=INPUT 64s read from INPUT in po, pot, xlf, xliff formats 64s -x EXCLUDE, --exclude=EXCLUDE 64s exclude names matching EXCLUDE from input paths 64s -o OUTPUT, --output=OUTPUT 64s write to OUTPUT in mo format 64s -S, --timestamp skip conversion if the output file has newer timestamp 64s --fuzzy use translations marked fuzzy 64s --nofuzzy don't use translations marked fuzzy (default) 64s ========= SMOKE TEST: /usr/bin/poconflicts =========== 64s 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] 64s input directory is searched for PO files, PO files with name of conflicting string are output in output directory 64s 64s Conflict finder for Gettext PO localization files. See: 64s http://docs.translatehouse.org/projects/translate- 64s toolkit/en/latest/commands/poconflicts.html for examples and usage 64s instructions. 64s 64s Options: 64s --version show program's version number and exit 64s -h, --help show this help message and exit 64s --manpage output a manpage based on the help 64s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 64s --errorlevel=ERRORLEVEL 64s show errorlevel as: none, message, exception, 64s traceback 64s -i INPUT, --input=INPUT 64s read from INPUT in po format 64s -x EXCLUDE, --exclude=EXCLUDE 64s exclude names matching EXCLUDE from input paths 64s -o OUTPUT, --output=OUTPUT 64s write to OUTPUT in po format 64s -I, --ignore-case ignore case distinctions 64s -v, --invert invert the conflicts thus extracting conflicting 64s destination words 64s --accelerator=ACCELERATORS 64s ignores the given accelerator characters when matching 64s ========= SMOKE TEST: /usr/bin/pocount =========== 64s usage: pocount [-h] [--incomplete] [--full | --csv | --short | 64s --short-strings | --short-words] [--no-color] 64s files [files ...] 64s 64s positional arguments: 64s files 64s 64s options: 64s -h, --help show this help message and exit 64s --incomplete skip 100% translated files. 64s 64s Output format: 64s --full (default) statistics in full, verbose format 64s --csv statistics in CSV format 64s --short same as --short-strings 64s --short-strings statistics of strings in short format - one line per file 64s --short-words statistics of words in short format - one line per file 64s --no-color show output without color 64s ========= SMOKE TEST: /usr/bin/podebug =========== 64s Usage: podebug [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 64s 64s Insert debug messages into XLIFF and Gettext PO localization files. See: 64s http://docs.translatehouse.org/projects/translate- 64s toolkit/en/latest/commands/podebug.html for examples and usage instructions. 64s 64s Options: 64s --version show program's version number and exit 64s -h, --help show this help message and exit 64s --manpage output a manpage based on the help 64s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 64s --errorlevel=ERRORLEVEL 64s show errorlevel as: none, message, exception, 64s traceback 64s -i INPUT, --input=INPUT 64s read from INPUT in po, pot, pot, tmx, xlf, xliff 64s formats 64s -x EXCLUDE, --exclude=EXCLUDE 64s exclude names matching EXCLUDE from input paths 64s -o OUTPUT, --output=OUTPUT 64s write to OUTPUT in po, pot, tmx, xlf, xliff formats 64s -S, --timestamp skip conversion if the output file has newer timestamp 64s -f FORMAT, --format=FORMAT 64s specify format string 64s --rewrite=STYLE the translation rewrite style: blank, bracket, chef, 64s classified, en, flipped, unicode, xxx 64s --ignore=APPLICATION apply tagging ignore rules for the given application: 64s gtk, kde, libreoffice, mozilla, openoffice 64s --preserveplaceholders 64s attempt to exclude characters that are part of 64s placeholders when performing character-level rewrites 64s so that consuming applications can still use the 64s placeholders to generate final output 64s ========= SMOKE TEST: /usr/bin/pofilter =========== 64s Usage: pofilter [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 64s 64s Perform quality checks on Gettext PO, XLIFF and TMX localization files. 64s Snippet files are created whenever a test fails. These can be examined, 64s corrected and merged back into the originals using pomerge. See: 64s http://docs.translatehouse.org/projects/translate- 64s toolkit/en/latest/commands/pofilter.html for examples and usage instructions 64s and http://docs.translatehouse.org/projects/translate- 64s toolkit/en/latest/commands/pofilter_tests.html for full descriptions of all 64s tests. 64s 64s Options: 64s --version show program's version number and exit 64s -h, --help show this help message and exit 64s --manpage output a manpage based on the help 64s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 64s --errorlevel=ERRORLEVEL 64s show errorlevel as: none, message, exception, 64s traceback 64s -i INPUT, --input=INPUT 64s read from INPUT in po, pot, tmx, xlf, xliff formats 64s -x EXCLUDE, --exclude=EXCLUDE 64s exclude names matching EXCLUDE from input paths 64s -o OUTPUT, --output=OUTPUT 64s write to OUTPUT in po, pot, tmx, xlf, xliff formats 64s -l, --listfilters list filters available 64s --review include units marked for review (default) 64s --noreview exclude units marked for review 64s --fuzzy include units marked fuzzy (default) 64s --nofuzzy exclude units marked fuzzy 64s --nonotes don't add notes about the errors 64s --autocorrect output automatic corrections where possible rather 64s than describing issues 64s --language=LANG set target language code (e.g. af-ZA) [required for 64s spell check and recommended in general] 64s --openoffice use the standard checks for OpenOffice translations 64s --libreoffice use the standard checks for LibreOffice translations 64s --mozilla use the standard checks for Mozilla translations 64s --drupal use the standard checks for Drupal translations 64s --gnome use the standard checks for Gnome translations 64s --kde use the standard checks for KDE translations 64s --wx use the standard checks for wxWidgets translations 64s --excludefilter=FILTER 64s don't use FILTER when filtering 64s -t FILTER, --test=FILTER 64s only use test FILTERs specified with this option when 64s filtering 64s --notranslatefile=FILE 64s read list of untranslatable words from FILE (must not 64s be translated) 64s --musttranslatefile=FILE 64s read list of translatable words from FILE (must be 64s translated) 64s --validcharsfile=FILE 64s read list of all valid characters from FILE (must be 64s in UTF-8) 64s ========= SMOKE TEST: /usr/bin/pogrep =========== 64s 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] 64s 64s Grep XLIFF, Gettext PO and TMX localization files. Matches are output to 64s snippet files of the same type which can then be reviewed and later merged 64s using :doc:`pomerge `. See: 64s http://docs.translatehouse.org/projects/translate- 64s toolkit/en/latest/commands/pogrep.html for examples and usage instructions. 64s 64s Options: 64s --version show program's version number and exit 64s -h, --help show this help message and exit 64s --manpage output a manpage based on the help 64s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 64s --errorlevel=ERRORLEVEL 64s show errorlevel as: none, message, exception, 64s traceback 64s -i INPUT, --input=INPUT 64s read from INPUT in gmo, mo, po, pot, tmx, xlf, xlff, 64s xliff formats 64s -x EXCLUDE, --exclude=EXCLUDE 64s exclude names matching EXCLUDE from input paths 64s -o OUTPUT, --output=OUTPUT 64s write to OUTPUT in gmo, mo, po, pot, tmx, xlf, xlff, 64s xliff formats 64s --search=SEARCHPARTS searches the given parts (source, target, notes and 64s locations) 64s -I, --ignore-case ignore case distinctions 64s -e, --regexp use regular expression matching 64s -v, --invert-match select non-matching lines 64s --accelerator=ACCELERATOR 64s ignores the given accelerator when matching 64s -k, --keep-translations 64s always extract units with translations 64s ========= SMOKE TEST: /usr/bin/pomerge =========== 64s Usage: pomerge [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 64s 64s Merges XLIFF and Gettext PO localization files. Snippet file produced by 64s e.g. :doc:`pogrep ` and updated by a translator can be 64s merged back into the original files. See: 64s http://docs.translatehouse.org/projects/translate- 64s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 64s 64s Options: 64s --version show program's version number and exit 64s -h, --help show this help message and exit 64s --manpage output a manpage based on the help 64s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 64s --errorlevel=ERRORLEVEL 64s show errorlevel as: none, message, exception, 64s traceback 64s -i INPUT, --input=INPUT 64s read from INPUT in po, pot, pot, xlf, xliff formats 64s -x EXCLUDE, --exclude=EXCLUDE 64s exclude names matching EXCLUDE from input paths 64s -o OUTPUT, --output=OUTPUT 64s write to OUTPUT in po, pot, pot, xlf, xliff formats 64s -t TEMPLATE, --template=TEMPLATE 64s read from TEMPLATE in po, pot, pot, xlf, xliff formats 64s -S, --timestamp skip conversion if the output file has newer timestamp 64s --mergeblanks=MERGEBLANKS 64s whether to overwrite existing translations with blank 64s translations (yes/no). Default is yes. 64s --mergefuzzy=MERGEFUZZY 64s whether to consider fuzzy translations from input 64s (yes/no). Default is yes. 64s --mergecomments=MERGECOMMENTS 64s whether to merge comments as well as translations 64s (yes/no). Default is yes. 64s ========= SMOKE TEST: /usr/bin/pomigrate2 =========== 64s Usage pomigrate2 [options] 64s 64s Options: 64s -F|--use-fuzzy-matching - use fuzzy algorithms when merging to attempt to match strings 64s -C|--use-compendium - create and use a compendium built from the migrating files 64s -C|--use-compendium=some-compendium.po 64s - use an external compendium during the migration 64s --no-wrap - do not wrap long lines 64s --locale=lang - set locale for newly born files 64s -q|--quiet - suppress most output 64s -p|--pot2po - use pot2po instead of msgmerge to migrate 64s ========= SMOKE TEST: /usr/bin/popuretext =========== 64s Usage: popuretext ( -P pot-dir | po-dir ) file.txt [accelerator] 64s ========= SMOKE TEST: /usr/bin/poreencode =========== 64s Usage: poreencode 64s eg: poreencode UTF-8 af/ 64s ========= SMOKE TEST: /usr/bin/porestructure =========== 64s Usage: porestructure [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT 64s input directory is searched for PO files with (poconflicts) comments, all entries are written to files in a directory structure for pomerge 64s 64s Restructure Gettxt PO files produced by :doc:`poconflicts 64s ` into the original directory tree for merging using 64s :doc:`pomerge `. See: 64s http://docs.translatehouse.org/projects/translate- 64s toolkit/en/latest/commands/pomerge.html for examples and usage instructions. 64s 64s Options: 64s --version show program's version number and exit 64s -h, --help show this help message and exit 64s --manpage output a manpage based on the help 64s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 64s --errorlevel=ERRORLEVEL 64s show errorlevel as: none, message, exception, 64s traceback 64s -i INPUT, --input=INPUT 64s read from INPUT in po format 64s -x EXCLUDE, --exclude=EXCLUDE 64s exclude names matching EXCLUDE from input paths 64s -o OUTPUT, --output=OUTPUT 64s write to OUTPUT in po format 64s ========= SMOKE TEST: /usr/bin/posegment =========== 64s Usage: posegment [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 64s 64s Segment Gettext PO, XLIFF and TMX localization files at the sentence level. 64s See: http://docs.translatehouse.org/projects/translate- 64s toolkit/en/latest/commands/posegment.html for examples and usage instructions. 64s 64s Options: 64s --version show program's version number and exit 64s -h, --help show this help message and exit 64s --manpage output a manpage based on the help 64s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 64s --errorlevel=ERRORLEVEL 64s show errorlevel as: none, message, exception, 64s traceback 64s -i INPUT, --input=INPUT 64s read from INPUT in po, pot, tmx, xlf, xliff formats 64s -x EXCLUDE, --exclude=EXCLUDE 64s exclude names matching EXCLUDE from input paths 64s -o OUTPUT, --output=OUTPUT 64s write to OUTPUT in po, pot, tmx, xlf, xliff formats 64s -S, --timestamp skip conversion if the output file has newer timestamp 64s -P, --pot output PO Templates (.pot) rather than PO files (.po) 64s -l LANG, --language=LANG 64s the target language code 64s --source-language=LANG 64s the source language code (default 'en') 64s --keepspaces Disable automatic stripping of whitespace 64s --only-aligned Removes units where sentence number does not 64s correspond 64s ========= SMOKE TEST: /usr/bin/poswap =========== 64s Usage: poswap [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 64s 64s Builds a new translation file with the target of the input language as source 64s language. .. note:: Ensure that the two po files correspond 100% to the same 64s pot file before using this. To translate Kurdish (ku) through French:: 64s poswap -i fr/ -t ku -o fr-ku To convert the fr-ku files back to en-ku:: 64s poswap --reverse -i fr/ -t fr-ku -o en-ku See: 64s http://docs.translatehouse.org/projects/translate- 64s toolkit/en/latest/commands/poswap.html for examples and usage instructions. 64s 64s Options: 64s --version show program's version number and exit 64s -h, --help show this help message and exit 64s --manpage output a manpage based on the help 64s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 64s --errorlevel=ERRORLEVEL 64s show errorlevel as: none, message, exception, 64s traceback 64s -i INPUT, --input=INPUT 64s read from INPUT in po, pot formats 64s -x EXCLUDE, --exclude=EXCLUDE 64s exclude names matching EXCLUDE from input paths 64s -o OUTPUT, --output=OUTPUT 64s write to OUTPUT in po, pot formats 64s -t TEMPLATE, --template=TEMPLATE 64s read from TEMPLATE in po, pot, pot formats 64s -S, --timestamp skip conversion if the output file has newer timestamp 64s --reverse reverse the process of intermediate language 64s conversion 64s ========= SMOKE TEST: /usr/bin/pot2po =========== 65s 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] 65s 65s Convert template files (like .pot or template .xlf files) to translation 65s files, preserving existing translations. See: 65s http://docs.translatehouse.org/projects/translate- 65s toolkit/en/latest/commands/pot2po.html for examples and usage instructions. 65s 65s Options: 65s --version show program's version number and exit 65s -h, --help show this help message and exit 65s --manpage output a manpage based on the help 65s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 65s --errorlevel=ERRORLEVEL 65s show errorlevel as: none, message, exception, 65s traceback 65s -i INPUT, --input=INPUT 65s read from INPUT in catkeys, lang, pot, ts, xlf, xliff 65s formats 65s -x EXCLUDE, --exclude=EXCLUDE 65s exclude names matching EXCLUDE from input paths 65s -o OUTPUT, --output=OUTPUT 65s write to OUTPUT in catkeys, lang, po, pot, ts, xlf, 65s xliff formats 65s -t TEMPLATE, --template=TEMPLATE 65s read from TEMPLATE in catkeys, lang, po, pot, ts, xlf, 65s xliff formats 65s -S, --timestamp skip conversion if the output file has newer timestamp 65s -P, --pot output PO Templates (.pot) rather than PO files (.po) 65s --tm=TM The file to use as translation memory when fuzzy 65s matching 65s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 65s The minimum similarity for inclusion (default: 75%) 65s --nofuzzymatching Disable fuzzy matching 65s ========= SMOKE TEST: /usr/bin/poterminology =========== 65s 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] 65s input directory is searched for PO files, terminology PO file is output file 65s 65s Create a terminology file by reading a set of .po or .pot files to produce a 65s pootle-terminology.pot. See: 65s http://docs.translatehouse.org/projects/translate- 65s toolkit/en/latest/commands/poterminology.html for examples and usage 65s instructions. 65s 65s Options: 65s --version show program's version number and exit 65s -h, --help show this help message and exit 65s --manpage output a manpage based on the help 65s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 65s --errorlevel=ERRORLEVEL 65s show errorlevel as: none, message, exception, 65s traceback 65s -i INPUT, --input=INPUT 65s read from INPUT in po, pot formats 65s -x EXCLUDE, --exclude=EXCLUDE 65s exclude names matching EXCLUDE from input paths 65s -o OUTPUT, --output=OUTPUT 65s write to OUTPUT in po, pot formats 65s -u UPDATEFILE, --update=UPDATEFILE 65s update terminology in UPDATEFILE 65s -S STOPFILE, --stopword-list=STOPFILE 65s read stopword (term exclusion) list from STOPFILE 65s (default /usr/share/pyshared/translate/share/stoplist- 65s en) 65s -F, --fold-titlecase fold "Title Case" to lowercase (default) 65s -C, --preserve-case preserve all uppercase/lowercase 65s -I, --ignore-case make all terms lowercase 65s --accelerator=ACCELERATORS 65s ignore the given accelerator characters when matching 65s -t LENGTH, --term-words=LENGTH 65s generate terms of up to LENGTH words (default 3) 65s --nonstop-needed=MIN omit terms with less than MIN nonstop words (default 65s 1) 65s --inputs-needed=MIN omit terms appearing in less than MIN input files 65s (default 2, or 1 if only one input file) 65s --fullmsg-needed=MIN omit full message terms appearing in less than MIN 65s different messages (default 1) 65s --substr-needed=MIN omit substring-only terms appearing in less than MIN 65s different messages (default 2) 65s --locs-needed=MIN omit terms appearing in less than MIN different 65s original source files (default 2) 65s --sort=ORDER output sort order(s): frequency, dictionary, length 65s (may repeat option, default is all in above order) 65s --source-language=LANG 65s the source language code (default 'en') 65s -v, --invert invert the source and target languages for terminology 65s ========= SMOKE TEST: /usr/bin/pretranslate =========== 65s Usage: pretranslate [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-t|--template TEMPLATE] [-S|--timestamp] 65s 65s Fill localization files with suggested translations based on translation 65s memory and existing translations. See: 65s http://docs.translatehouse.org/projects/translate- 65s toolkit/en/latest/commands/pretranslate.html for examples and usage 65s instructions. 65s 65s Options: 65s --version show program's version number and exit 65s -h, --help show this help message and exit 65s --manpage output a manpage based on the help 65s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 65s --errorlevel=ERRORLEVEL 65s show errorlevel as: none, message, exception, 65s traceback 65s -i INPUT, --input=INPUT 65s read from INPUT in po, pot, pot, xlf, xliff formats 65s -x EXCLUDE, --exclude=EXCLUDE 65s exclude names matching EXCLUDE from input paths 65s -o OUTPUT, --output=OUTPUT 65s write to OUTPUT in po, pot, xlf, xliff formats 65s -t TEMPLATE, --template=TEMPLATE 65s read from TEMPLATE in po, pot, xlf, xliff formats 65s -S, --timestamp skip conversion if the output file has newer timestamp 65s --tm=TM The file to use as translation memory when fuzzy 65s matching 65s -s MIN_SIMILARITY, --similarity=MIN_SIMILARITY 65s The minimum similarity for inclusion (default: 75%) 65s --nofuzzymatching Disable fuzzy matching 65s ========= SMOKE TEST: /usr/bin/prop2po =========== 65s 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] 65s 65s Convert Java/Mozilla .properties files to Gettext PO localization files. 65s See: http://docs.translatehouse.org/projects/translate- 65s toolkit/en/latest/commands/prop2po.html for examples and usage instructions. 65s 65s Options: 65s --version show program's version number and exit 65s -h, --help show this help message and exit 65s --manpage output a manpage based on the help 65s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 65s --errorlevel=ERRORLEVEL 65s show errorlevel as: none, message, exception, 65s traceback 65s -i INPUT, --input=INPUT 65s read from INPUT in lang, properties, strings formats 65s -x EXCLUDE, --exclude=EXCLUDE 65s exclude names matching EXCLUDE from input paths 65s -o OUTPUT, --output=OUTPUT 65s write to OUTPUT in po, pot formats 65s -t TEMPLATE, --template=TEMPLATE 65s read from TEMPLATE in lang, properties, strings 65s formats 65s -S, --timestamp skip conversion if the output file has newer timestamp 65s -P, --pot output PO Templates (.pot) rather than PO files (.po) 65s --personality=TYPE override the input file format: java, java-utf8, java- 65s utf16, xwiki, flex, mozilla, gaia, gwt, skype, 65s strings, strings-utf8, joomla (for .properties files, 65s default: java) 65s --encoding=ENCODING override the encoding set by the personality 65s --duplicates=DUPLICATESTYLE 65s what to do with duplicate strings (identical source 65s text): merge, msgctxt (default: 'msgctxt') 65s ========= SMOKE TEST: /usr/bin/pydiff =========== 65s usage: pydiff [-h] [-i] [-U NUM] [-r] [-N] [--unidirectional-new-file] [-s] 65s [-x PAT] [--fromcontains TEXT] [--tocontains TEXT] 65s [--contains TEXT] [-I] [--accelerator ACCELERATORS] 65s fromfile tofile 65s 65s positional arguments: 65s fromfile 65s tofile 65s 65s options: 65s -h, --help show this help message and exit 65s -i, --ignore-case Ignore case differences in file contents. 65s -U, --unified NUM Output NUM (default 3) lines of unified context 65s -r, --recursive Recursively compare any subdirectories found. 65s -N, --new-file Treat absent files as empty. 65s --unidirectional-new-file 65s Treat absent first files as empty. 65s -s, --report-identical-files 65s Report when two files are the same. 65s -x, --exclude PAT Exclude files that match PAT. 65s --fromcontains TEXT Only show changes where fromfile contains TEXT 65s --tocontains TEXT Only show changes where tofile contains TEXT 65s --contains TEXT Only show changes where fromfile or tofile contains 65s TEXT 65s -I, --ignore-case-contains 65s Ignore case differences when matching any of the 65s changes 65s --accelerator ACCELERATORS 65s ignores the given accelerator characters when matching 65s ========= SMOKE TEST: /usr/bin/pypo2phppo =========== 65s Usage: pypo2phppo [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 65s 65s Convert Python format .po files to PHP format .po files. 65s 65s Options: 65s --version show program's version number and exit 65s -h, --help show this help message and exit 65s --manpage output a manpage based on the help 65s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 65s --errorlevel=ERRORLEVEL 65s show errorlevel as: none, message, exception, 65s traceback 65s -i INPUT, --input=INPUT 65s read from INPUT in po, pot formats 65s -x EXCLUDE, --exclude=EXCLUDE 65s exclude names matching EXCLUDE from input paths 65s -o OUTPUT, --output=OUTPUT 65s write to OUTPUT in po, pot formats 65s -S, --timestamp skip conversion if the output file has newer timestamp 65s ========= SMOKE TEST: /usr/bin/rc2po =========== 65s 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] 65s 65s Convert Windows RC files to Gettext PO localization files. See: 65s http://docs.translatehouse.org/projects/translate- 65s toolkit/en/latest/commands/rc2po.html for examples and usage instructions. 65s 65s Options: 65s --version show program's version number and exit 65s -h, --help show this help message and exit 65s --manpage output a manpage based on the help 65s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 65s --errorlevel=ERRORLEVEL 65s show errorlevel as: none, message, exception, 65s traceback 65s -i INPUT, --input=INPUT 65s read from INPUT in nls, rc formats 65s -x EXCLUDE, --exclude=EXCLUDE 65s exclude names matching EXCLUDE from input paths 65s -o OUTPUT, --output=OUTPUT 65s write to OUTPUT in po, pot formats 65s -t TEMPLATE, --template=TEMPLATE 65s read from TEMPLATE in nls, rc formats 65s -S, --timestamp skip conversion if the output file has newer timestamp 65s -P, --pot output PO Templates (.pot) rather than PO files (.po) 65s --charset=CHARSET charset to use to decode the RC files (autodetection 65s is used by default) 65s -l LANG, --lang=LANG LANG entry (default: None) 65s --sublang=SUBLANG SUBLANG entry (default: None) 65s --duplicates=DUPLICATESTYLE 65s what to do with duplicate strings (identical source 65s text): merge, msgctxt (default: 'msgctxt') 65s ========= SMOKE TEST: /usr/bin/resx2po =========== 65s 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] 65s 65s Convert .Net Resource (.resx) to Gettext PO localisation files. See: 65s http://docs.translatehouse.org/projects/translate- 65s toolkit/en/latest/commands/resx2po.html for examples and usage instructions. 65s 65s Options: 65s --version show program's version number and exit 65s -h, --help show this help message and exit 65s --manpage output a manpage based on the help 65s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 65s --errorlevel=ERRORLEVEL 65s show errorlevel as: none, message, exception, 65s traceback 65s -i INPUT, --input=INPUT 65s read from INPUT in resx format 65s -x EXCLUDE, --exclude=EXCLUDE 65s exclude names matching EXCLUDE from input paths 65s -o OUTPUT, --output=OUTPUT 65s write to OUTPUT in po, pot formats 65s -t TEMPLATE, --template=TEMPLATE 65s read from TEMPLATE in resx format 65s -S, --timestamp skip conversion if the output file has newer timestamp 65s -P, --pot output PO Templates (.pot) rather than PO files (.po) 65s --filter=FILTER leaves to extract e.g. 'name,desc': (default: extract 65s everything) 65s --duplicates=DUPLICATESTYLE 65s what to do with duplicate strings (identical source 65s text): merge, msgctxt (default: 'msgctxt') 65s ========= SMOKE TEST: /usr/bin/sub2po =========== 65s 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] 65s 65s Convert subtitle files to Gettext PO localization files. See: 65s http://docs.translatehouse.org/projects/translate- 65s toolkit/en/latest/commands/sub2po.html for examples and usage instructions. 65s 65s Options: 65s --version show program's version number and exit 65s -h, --help show this help message and exit 65s --manpage output a manpage based on the help 65s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 65s --errorlevel=ERRORLEVEL 65s show errorlevel as: none, message, exception, 65s traceback 65s -i INPUT, --input=INPUT 65s read from INPUT in ass, srt, ssa, sub formats 65s -x EXCLUDE, --exclude=EXCLUDE 65s exclude names matching EXCLUDE from input paths 65s -o OUTPUT, --output=OUTPUT 65s write to OUTPUT in po, pot formats 65s -t TEMPLATE, --template=TEMPLATE 65s read from TEMPLATE in ass, srt, ssa, sub formats 65s -S, --timestamp skip conversion if the output file has newer timestamp 65s -P, --pot output PO Templates (.pot) rather than PO files (.po) 65s --duplicates=DUPLICATESTYLE 65s what to do with duplicate strings (identical source 65s text): merge, msgctxt (default: 'msgctxt') 65s ========= SMOKE TEST: /usr/bin/symb2po =========== 65s 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] 65s 65s Convert Symbian localisation files to Gettext PO localization files. See: 65s http://docs.translatehouse.org/projects/translate- 65s toolkit/en/latest/commands/symb2po.html for examples and usage instructions. 65s 65s Options: 65s --version show program's version number and exit 65s -h, --help show this help message and exit 65s --manpage output a manpage based on the help 65s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 65s --errorlevel=ERRORLEVEL 65s show errorlevel as: none, message, exception, 65s traceback 65s -i INPUT, --input=INPUT 65s read from INPUT in r01 format 65s -x EXCLUDE, --exclude=EXCLUDE 65s exclude names matching EXCLUDE from input paths 65s -o OUTPUT, --output=OUTPUT 65s write to OUTPUT in po, pot formats 65s -t TEMPLATE, --template=TEMPLATE 65s read from TEMPLATE in 65s -S, --timestamp skip conversion if the output file has newer timestamp 65s -P, --pot output PO Templates (.pot) rather than PO files (.po) 65s --duplicates=DUPLICATESTYLE 65s what to do with duplicate strings (identical source 65s text): merge, msgctxt (default: 'msgctxt') 65s ========= SMOKE TEST: /usr/bin/tbx2po =========== 65s Usage: tbx2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 65s 65s Convert TermBase eXchange (.tbx) glossary file into a Gettext PO file. See: 65s http://docs.translatehouse.org/projects/translate- 65s toolkit/en/latest/commands/tbx2po.html for examples and usage instructions 65s 65s Options: 65s --version show program's version number and exit 65s -h, --help show this help message and exit 65s --manpage output a manpage based on the help 65s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 65s --errorlevel=ERRORLEVEL 65s show errorlevel as: none, message, exception, 65s traceback 65s -i INPUT, --input=INPUT 65s read from INPUT in tbx format 65s -x EXCLUDE, --exclude=EXCLUDE 65s exclude names matching EXCLUDE from input paths 65s -o OUTPUT, --output=OUTPUT 65s write to OUTPUT in po, pot formats 65s -S, --timestamp skip conversion if the output file has newer timestamp 65s ========= SMOKE TEST: /usr/bin/tiki2po =========== 65s Usage: tiki2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] 65s 65s Convert TikiWiki's language.php files to Gettext PO localization files. See: 65s http://docs.translatehouse.org/projects/translate- 65s toolkit/en/latest/commands/tiki2po.html for examples and usage instructions. 65s 65s Options: 65s --version show program's version number and exit 65s -h, --help show this help message and exit 65s --manpage output a manpage based on the help 65s --progress=PROGRESS show progress as: dots, none, bar, names, verbose 65s --errorlevel=ERRORLEVEL 65s show errorlevel as: none, message, exception, 65s traceback 65s -i INPUT, --input=INPUT 65s read from INPUT in php format 65s -x EXCLUDE, --exclude=EXCLUDE 65s exclude names matching EXCLUDE from input paths 65s -o OUTPUT, --output=OUTPUT 65s write to OUTPUT in po, pot formats 65s -S, --timestamp skip conversion if the output file has newer timestamp 65s --include-unused Include strings in the unused section 65s ========= SMOKE TEST: /usr/bin/tmserver =========== 66s usage: tmserver [-h] [-d TMDBFILE] [-f TMFILES] [-t TARGET_LANG] 66s [-s SOURCE_LANG] [-b BIND] [-p PORT] 66s [--max-candidates MAX_CANDIDATES] 66s [--min-similarity MIN_SIMILARITY] [--max-length MAX_LENGTH] 66s [--debug] 66s 66s options: 66s -h, --help show this help message and exit 66s -d, --tmdb TMDBFILE translation memory database file 66s -f, --import-translation-file TMFILES 66s translation file to import into the database 66s -t, --import-target-lang TARGET_LANG 66s target language of translation files 66s -s, --import-source-lang SOURCE_LANG 66s source language of translation files 66s -b, --bind BIND address to bind server to (default: localhost) 66s -p, --port PORT port to listen on (default: 8888) 66s --max-candidates MAX_CANDIDATES 66s Maximum number of candidates 66s --min-similarity MIN_SIMILARITY 66s minimum similarity 66s --max-length MAX_LENGTH 66s Maxmimum string length 66s --debug enable debugging features 66s ========= SMOKE TEST: /usr/bin/ts2po =========== 66s Usage: ts2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 66s 66s Convert Qt Linguist (.ts) files to Gettext PO localization files. See: 66s http://docs.translatehouse.org/projects/translate- 66s toolkit/en/latest/commands/ts2po.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 ts 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 -S, --timestamp skip conversion if the output file has newer timestamp 66s -P, --pot output PO Templates (.pot) rather than PO files (.po) 66s --duplicates=DUPLICATESTYLE 66s what to do with duplicate strings (identical source 66s text): merge, msgctxt (default: 'msgctxt') 66s ========= SMOKE TEST: /usr/bin/txt2po =========== 66s Usage: txt2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 66s 66s Convert plain text (.txt) files to Gettext PO localization files. See: 66s http://docs.translatehouse.org/projects/translate- 66s toolkit/en/latest/commands/txt2po.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 *, txt formats 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 -S, --timestamp skip conversion if the output file has newer timestamp 66s -P, --pot output PO Templates (.pot) rather than PO files (.po) 66s --encoding=ENCODING The encoding of the input file (default: UTF-8) 66s --flavour=FLAVOUR The flavour of text file: plain (default), dokuwiki, 66s mediawiki 66s --no-segmentation Don't segment the file, treat it like a single message 66s --duplicates=DUPLICATESTYLE 66s what to do with duplicate strings (identical source 66s text): merge, msgctxt (default: 'msgctxt') 66s ========= SMOKE TEST: /usr/bin/web2py2po =========== 66s Usage: web2py2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 66s 66s Convert web2py translation dictionaries (.py) to GNU/gettext PO files. See: 66s http://docs.translatehouse.org/projects/translate- 66s toolkit/en/latest/commands/web2py2po.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 py 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 -S, --timestamp skip conversion if the output file has newer timestamp 66s -P, --pot output PO Templates (.pot) rather than PO files (.po) 66s --duplicates=DUPLICATESTYLE 66s what to do with duplicate strings (identical source 66s text): merge, msgctxt (default: 'msgctxt') 66s ========= SMOKE TEST: /usr/bin/xliff2odf =========== 66s Usage: xliff2odf [--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 XLIFF translation files to OpenDocument (ODF) files. See: 66s http://docs.translatehouse.org/projects/translate- 66s toolkit/en/latest/commands/odf2xliff.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 xlf format 66s -x EXCLUDE, --exclude=EXCLUDE 66s exclude names matching EXCLUDE from input paths 66s -o OUTPUT, --output=OUTPUT 66s write to OUTPUT in odc, odf, odg, odi, odm, odp, ods, 66s odt, otc, otf, otg, oth, oti, otp, ots, ott formats 66s -t TEMPLATE, --template=TEMPLATE 66s read from TEMPLATE in odc, odf, odg, odi, odm, odp, 66s ods, odt, otc, otf, otg, oth, oti, otp, ots, ott 66s formats 66s -S, --timestamp skip conversion if the output file has newer timestamp 66s ========= SMOKE TEST: /usr/bin/xliff2oo =========== 66s Usage: xliff2oo [--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 XLIFF localization files to an OpenOffice.org (SDF) localization 66s file. See: http://docs.translatehouse.org/projects/translate- 66s toolkit/en/latest/commands/oo2po.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 po, pot, xlf, xliff formats 66s -x EXCLUDE, --exclude=EXCLUDE 66s exclude names matching EXCLUDE from input paths 66s -o OUTPUT, --output=OUTPUT 66s write to OUTPUT in oo, sdf formats 66s -t TEMPLATE, --template=TEMPLATE 66s read from TEMPLATE in oo, sdf formats 66s -S, --timestamp skip conversion if the output file has newer timestamp 66s -l LANG, --language=LANG 66s set target language code (e.g. af-ZA) [required] 66s --source-language=LANG 66s set source language code (default en-US) 66s -T, --keeptimestamp don't change the timestamps of the strings 66s --nonrecursiveoutput don't treat the output oo as a recursive store 66s --nonrecursivetemplate 66s don't treat the template oo as a recursive store 66s --skipsource don't output the source language, but fallback to it 66s where needed 66s --filteraction=ACTION 66s action on pofilter failure: none (default), warn, 66s exclude-serious, exclude-all 66s --fuzzy use translations marked fuzzy 66s --nofuzzy don't use translations marked fuzzy (default) 66s --multifile=MULTIFILESTYLE 66s how to split po/pot files (single, toplevel or 66s onefile) 66s ========= SMOKE TEST: /usr/bin/xliff2po =========== 66s Usage: xliff2po [--version] [-h|--help] [--manpage] [--progress PROGRESS] [--errorlevel ERRORLEVEL] [-i|--input] INPUT [-x|--exclude EXCLUDE] [-o|--output] OUTPUT [-S|--timestamp] [-P|--pot] 66s 66s Convert XLIFF localization files to Gettext PO localization files. See: 66s http://docs.translatehouse.org/projects/translate- 66s toolkit/en/latest/commands/xliff2po.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 xlf, xliff formats 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 -S, --timestamp skip conversion if the output file has newer timestamp 66s -P, --pot output PO Templates (.pot) rather than PO files (.po) 66s --duplicates=DUPLICATESTYLE 66s what to do with duplicate strings (identical source 66s text): merge, msgctxt (default: 'msgctxt') 66s ========= SMOKE TEST: /usr/bin/yaml2po =========== 66s 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] 66s 66s Convert YAML files to Gettext PO localization files. See: 66s http://docs.translatehouse.org/projects/translate- 66s toolkit/en/latest/commands/yaml2po.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 yaml, yml formats 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 yaml, yml 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 --duplicates=DUPLICATESTYLE 66s what to do with duplicate strings (identical source 66s text): merge, msgctxt (default: 'msgctxt') 67s autopkgtest [07:12:32]: test translate-toolkit: -----------------------] 67s autopkgtest [07:12:32]: test translate-toolkit: - - - - - - - - - - results - - - - - - - - - - 67s translate-toolkit PASS 67s autopkgtest [07:12:32]: test python3-translate: preparing testbed 74s Creating nova instance adt-resolute-amd64-translate-toolkit-20251024-071124-juju-7f2275-prod-proposed-migration-environment-2-ff964e4b-2f2a-4c09-a040-0f91175a09ce from image adt/ubuntu-resolute-amd64-server-20251024.img (UUID 310022dd-8dd9-48c7-a816-c2d8419ef402)... 106s autopkgtest [07:13:11]: testbed dpkg architecture: amd64 106s autopkgtest [07:13:11]: testbed apt version: 3.1.8ubuntu1 106s autopkgtest [07:13:11]: @@@@@@@@@@@@@@@@@@@@ test bed setup 106s autopkgtest [07:13:11]: testbed release detected to be: resolute 107s autopkgtest [07:13:12]: updating testbed package index (apt update) 107s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 107s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 107s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 107s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 107s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [61.6 kB] 107s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [15.0 kB] 107s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5028 B] 108s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [533 kB] 108s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 Packages [147 kB] 108s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main i386 Packages [97.2 kB] 108s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 c-n-f Metadata [3040 B] 108s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/restricted i386 Packages [3208 B] 108s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 Packages [28.0 kB] 108s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 c-n-f Metadata [336 B] 108s Get:15 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 Packages [385 kB] 108s Get:16 http://ftpmaster.internal/ubuntu resolute-proposed/universe i386 Packages [145 kB] 108s Get:17 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 c-n-f Metadata [10.8 kB] 108s Get:18 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse i386 Packages [3156 B] 108s Get:19 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 Packages [6744 B] 108s Get:20 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 c-n-f Metadata [492 B] 109s Fetched 1532 kB in 1s (1491 kB/s) 109s Reading package lists... 110s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 110s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 110s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 110s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 110s Reading package lists... 110s Reading package lists... 111s Building dependency tree... 111s Reading state information... 111s Calculating upgrade... 111s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 111s autopkgtest [07:13:16]: upgrading testbed (apt dist-upgrade and autopurge) 111s Reading package lists... 111s Building dependency tree... 111s Reading state information... 111s Calculating upgrade... 111s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 111s Reading package lists... 112s Building dependency tree... 112s Reading state information... 112s Solving dependencies... 112s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 114s Reading package lists... 114s Building dependency tree... 114s Reading state information... 114s Solving dependencies... 114s The following NEW packages will be installed: 114s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 114s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 114s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 114s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 114s python3-cheroot python3-cwcwidth python3-dateutil python3-diff-match-patch 114s python3-enchant python3-iniconfig python3-iniparse python3-levenshtein 114s python3-lxml python3-mistletoe python3-packaging python3-phply 114s python3-pluggy python3-ply python3-pycountry python3-pytest python3-pytz 114s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 114s python3-soupsieve python3-syrupy python3-translate python3-vobject 114s python3-xapian subversion 114s 0 upgraded, 46 newly installed, 0 to remove and 0 not upgraded. 114s Need to get 14.2 MB of archives. 114s After this operation, 76.4 MB of additional disk space will be used. 114s Get:1 http://ftpmaster.internal/ubuntu resolute/main amd64 emacsen-common all 3.0.8 [13.9 kB] 114s Get:2 http://ftpmaster.internal/ubuntu resolute/main amd64 dictionaries-common all 1.30.10 [178 kB] 114s Get:3 http://ftpmaster.internal/ubuntu resolute/main amd64 libgomp1 amd64 15.2.0-5ubuntu1 [151 kB] 114s Get:4 http://ftpmaster.internal/ubuntu resolute/main amd64 gettext amd64 0.23.1-2build2 [1043 kB] 115s Get:5 http://ftpmaster.internal/ubuntu resolute/main amd64 hunspell-en-us all 1:2020.12.07-4 [585 kB] 115s Get:6 http://ftpmaster.internal/ubuntu resolute/main amd64 libapr1t64 amd64 1.7.5-1 [116 kB] 115s Get:7 http://ftpmaster.internal/ubuntu resolute/main amd64 libaprutil1t64 amd64 1.6.3-3ubuntu2 [98.5 kB] 115s Get:8 http://ftpmaster.internal/ubuntu resolute/main amd64 libaspell15 amd64 0.60.8.1-4 [353 kB] 115s Get:9 http://ftpmaster.internal/ubuntu resolute/main amd64 libhunspell-1.7-0 amd64 1.7.2+really1.7.2-10build3 [294 kB] 115s Get:10 http://ftpmaster.internal/ubuntu resolute/main amd64 libenchant-2-2 amd64 2.8.2+dfsg1-3 [59.0 kB] 115s Get:11 http://ftpmaster.internal/ubuntu resolute/main amd64 libexttextcat-data all 3.4.7-1ubuntu1 [193 kB] 115s Get:12 http://ftpmaster.internal/ubuntu resolute/universe amd64 libserf-1-1 amd64 1.3.10-3ubuntu1 [48.2 kB] 115s Get:13 http://ftpmaster.internal/ubuntu resolute/universe amd64 libutf8proc3 amd64 2.10.0-2 [71.6 kB] 115s Get:14 http://ftpmaster.internal/ubuntu resolute/universe amd64 libsvn1 amd64 1.14.5-3 [1354 kB] 115s Get:15 http://ftpmaster.internal/ubuntu resolute/universe amd64 libxapian30 amd64 1.4.29-3 [740 kB] 116s Get:16 http://ftpmaster.internal/ubuntu resolute/main amd64 libxslt1.1 amd64 1.1.43-0.1 [172 kB] 116s Get:17 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-aeidon all 1.15-2 [231 kB] 116s Get:18 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-all amd64 3.13.7-1 [884 B] 116s Get:19 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-soupsieve all 2.7-2 [33.6 kB] 116s Get:20 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-bs4 all 4.13.4-3 [137 kB] 116s Get:21 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-charset-normalizer amd64 3.4.2-1 [129 kB] 116s Get:22 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-cheroot all 10.0.1+ds1-4 [78.6 kB] 116s Get:23 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-cwcwidth amd64 0.1.10-1build2 [28.0 kB] 116s Get:24 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-dateutil all 2.9.0-4 [80.3 kB] 116s Get:25 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-diff-match-patch all 20241021-1 [33.6 kB] 116s Get:26 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-enchant all 3.3.0~rc1-1 [35.1 kB] 116s Get:27 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-iniconfig all 1.1.1-2 [6024 B] 116s Get:28 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-rapidfuzz amd64 3.12.2+ds-1build1 [2746 kB] 116s Get:29 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-levenshtein amd64 0.27.1-2build1 [145 kB] 116s Get:30 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-lxml amd64 6.0.1-1build1 [2336 kB] 116s Get:31 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-mistletoe all 1.4.0-1 [38.2 kB] 116s Get:32 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-packaging all 25.0-1 [52.8 kB] 116s Get:33 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-ply all 3.11-9 [45.8 kB] 116s Get:34 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-phply all 1.2.6-1 [50.5 kB] 116s Get:35 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pluggy all 1.6.0-1 [21.0 kB] 116s Get:36 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 python3-pytest all 8.4.2-1 [268 kB] 116s Get:37 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-pytz all 2025.2-4 [32.3 kB] 116s Get:38 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-ruamel.yaml.clib amd64 0.2.12+ds-1build1 [164 kB] 116s Get:39 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 116s Get:40 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-syrupy all 5.0.0-1 [47.9 kB] 116s Get:41 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-translate all 3.15.1-1 [319 kB] 116s Get:42 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-vobject all 0.9.9+dfsg-1 [41.5 kB] 116s Get:43 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-xapian amd64 1.4.29-1build1 [588 kB] 117s Get:44 http://ftpmaster.internal/ubuntu resolute/universe amd64 subversion amd64 1.14.5-3 [911 kB] 117s Get:45 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-iniparse all 0.5.1-1 [21.2 kB] 117s Get:46 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 117s Preconfiguring packages ... 117s Fetched 14.2 MB in 2s (6202 kB/s) 117s Selecting previously unselected package emacsen-common. 117s (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 ... 78459 files and directories currently installed.) 117s Preparing to unpack .../00-emacsen-common_3.0.8_all.deb ... 117s Unpacking emacsen-common (3.0.8) ... 117s Selecting previously unselected package dictionaries-common. 117s Preparing to unpack .../01-dictionaries-common_1.30.10_all.deb ... 117s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 117s Unpacking dictionaries-common (1.30.10) ... 117s Selecting previously unselected package libgomp1:amd64. 117s Preparing to unpack .../02-libgomp1_15.2.0-5ubuntu1_amd64.deb ... 117s Unpacking libgomp1:amd64 (15.2.0-5ubuntu1) ... 117s Selecting previously unselected package gettext. 117s Preparing to unpack .../03-gettext_0.23.1-2build2_amd64.deb ... 117s Unpacking gettext (0.23.1-2build2) ... 117s Selecting previously unselected package hunspell-en-us. 117s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-4_all.deb ... 117s Unpacking hunspell-en-us (1:2020.12.07-4) ... 117s Selecting previously unselected package libapr1t64:amd64. 117s Preparing to unpack .../05-libapr1t64_1.7.5-1_amd64.deb ... 117s Unpacking libapr1t64:amd64 (1.7.5-1) ... 117s Selecting previously unselected package libaprutil1t64:amd64. 117s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu2_amd64.deb ... 117s Unpacking libaprutil1t64:amd64 (1.6.3-3ubuntu2) ... 117s Selecting previously unselected package libaspell15:amd64. 117s Preparing to unpack .../07-libaspell15_0.60.8.1-4_amd64.deb ... 117s Unpacking libaspell15:amd64 (0.60.8.1-4) ... 117s Selecting previously unselected package libhunspell-1.7-0:amd64. 117s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_amd64.deb ... 117s Unpacking libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 117s Selecting previously unselected package libenchant-2-2:amd64. 117s Preparing to unpack .../09-libenchant-2-2_2.8.2+dfsg1-3_amd64.deb ... 117s Unpacking libenchant-2-2:amd64 (2.8.2+dfsg1-3) ... 117s Selecting previously unselected package libexttextcat-data. 117s Preparing to unpack .../10-libexttextcat-data_3.4.7-1ubuntu1_all.deb ... 117s Unpacking libexttextcat-data (3.4.7-1ubuntu1) ... 117s Selecting previously unselected package libserf-1-1:amd64. 117s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_amd64.deb ... 117s Unpacking libserf-1-1:amd64 (1.3.10-3ubuntu1) ... 117s Selecting previously unselected package libutf8proc3:amd64. 117s Preparing to unpack .../12-libutf8proc3_2.10.0-2_amd64.deb ... 117s Unpacking libutf8proc3:amd64 (2.10.0-2) ... 117s Selecting previously unselected package libsvn1:amd64. 117s Preparing to unpack .../13-libsvn1_1.14.5-3_amd64.deb ... 117s Unpacking libsvn1:amd64 (1.14.5-3) ... 117s Selecting previously unselected package libxapian30:amd64. 117s Preparing to unpack .../14-libxapian30_1.4.29-3_amd64.deb ... 117s Unpacking libxapian30:amd64 (1.4.29-3) ... 117s Selecting previously unselected package libxslt1.1:amd64. 117s Preparing to unpack .../15-libxslt1.1_1.1.43-0.1_amd64.deb ... 117s Unpacking libxslt1.1:amd64 (1.1.43-0.1) ... 117s Selecting previously unselected package python3-aeidon. 117s Preparing to unpack .../16-python3-aeidon_1.15-2_all.deb ... 117s Unpacking python3-aeidon (1.15-2) ... 117s Selecting previously unselected package python3-all. 117s Preparing to unpack .../17-python3-all_3.13.7-1_amd64.deb ... 117s Unpacking python3-all (3.13.7-1) ... 117s Selecting previously unselected package python3-soupsieve. 117s Preparing to unpack .../18-python3-soupsieve_2.7-2_all.deb ... 117s Unpacking python3-soupsieve (2.7-2) ... 117s Selecting previously unselected package python3-bs4. 117s Preparing to unpack .../19-python3-bs4_4.13.4-3_all.deb ... 117s Unpacking python3-bs4 (4.13.4-3) ... 117s Selecting previously unselected package python3-charset-normalizer. 117s Preparing to unpack .../20-python3-charset-normalizer_3.4.2-1_amd64.deb ... 117s Unpacking python3-charset-normalizer (3.4.2-1) ... 117s Selecting previously unselected package python3-cheroot. 117s Preparing to unpack .../21-python3-cheroot_10.0.1+ds1-4_all.deb ... 117s Unpacking python3-cheroot (10.0.1+ds1-4) ... 117s Selecting previously unselected package python3-cwcwidth. 117s Preparing to unpack .../22-python3-cwcwidth_0.1.10-1build2_amd64.deb ... 117s Unpacking python3-cwcwidth (0.1.10-1build2) ... 117s Selecting previously unselected package python3-dateutil. 117s Preparing to unpack .../23-python3-dateutil_2.9.0-4_all.deb ... 117s Unpacking python3-dateutil (2.9.0-4) ... 117s Selecting previously unselected package python3-diff-match-patch. 117s Preparing to unpack .../24-python3-diff-match-patch_20241021-1_all.deb ... 117s Unpacking python3-diff-match-patch (20241021-1) ... 117s Selecting previously unselected package python3-enchant. 117s Preparing to unpack .../25-python3-enchant_3.3.0~rc1-1_all.deb ... 117s Unpacking python3-enchant (3.3.0~rc1-1) ... 117s Selecting previously unselected package python3-iniconfig. 117s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 117s Unpacking python3-iniconfig (1.1.1-2) ... 117s Selecting previously unselected package python3-rapidfuzz. 117s Preparing to unpack .../27-python3-rapidfuzz_3.12.2+ds-1build1_amd64.deb ... 117s Unpacking python3-rapidfuzz (3.12.2+ds-1build1) ... 117s Selecting previously unselected package python3-levenshtein. 117s Preparing to unpack .../28-python3-levenshtein_0.27.1-2build1_amd64.deb ... 117s Unpacking python3-levenshtein (0.27.1-2build1) ... 117s Selecting previously unselected package python3-lxml:amd64. 117s Preparing to unpack .../29-python3-lxml_6.0.1-1build1_amd64.deb ... 117s Unpacking python3-lxml:amd64 (6.0.1-1build1) ... 117s Selecting previously unselected package python3-mistletoe. 117s Preparing to unpack .../30-python3-mistletoe_1.4.0-1_all.deb ... 117s Unpacking python3-mistletoe (1.4.0-1) ... 117s Selecting previously unselected package python3-packaging. 117s Preparing to unpack .../31-python3-packaging_25.0-1_all.deb ... 117s Unpacking python3-packaging (25.0-1) ... 117s Selecting previously unselected package python3-ply. 117s Preparing to unpack .../32-python3-ply_3.11-9_all.deb ... 117s Unpacking python3-ply (3.11-9) ... 117s Selecting previously unselected package python3-phply. 117s Preparing to unpack .../33-python3-phply_1.2.6-1_all.deb ... 117s Unpacking python3-phply (1.2.6-1) ... 118s Selecting previously unselected package python3-pluggy. 118s Preparing to unpack .../34-python3-pluggy_1.6.0-1_all.deb ... 118s Unpacking python3-pluggy (1.6.0-1) ... 118s Selecting previously unselected package python3-pytest. 118s Preparing to unpack .../35-python3-pytest_8.4.2-1_all.deb ... 118s Unpacking python3-pytest (8.4.2-1) ... 118s Selecting previously unselected package python3-pytz. 118s Preparing to unpack .../36-python3-pytz_2025.2-4_all.deb ... 118s Unpacking python3-pytz (2025.2-4) ... 118s Selecting previously unselected package python3-ruamel.yaml.clib. 118s Preparing to unpack .../37-python3-ruamel.yaml.clib_0.2.12+ds-1build1_amd64.deb ... 118s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 118s Selecting previously unselected package python3-ruamel.yaml. 118s Preparing to unpack .../38-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 118s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 118s Selecting previously unselected package python3-syrupy. 118s Preparing to unpack .../39-python3-syrupy_5.0.0-1_all.deb ... 118s Unpacking python3-syrupy (5.0.0-1) ... 118s Selecting previously unselected package python3-translate. 118s Preparing to unpack .../40-python3-translate_3.15.1-1_all.deb ... 118s Unpacking python3-translate (3.15.1-1) ... 118s Selecting previously unselected package python3-vobject. 118s Preparing to unpack .../41-python3-vobject_0.9.9+dfsg-1_all.deb ... 118s Unpacking python3-vobject (0.9.9+dfsg-1) ... 118s Selecting previously unselected package python3-xapian. 118s Preparing to unpack .../42-python3-xapian_1.4.29-1build1_amd64.deb ... 118s Unpacking python3-xapian (1.4.29-1build1) ... 118s Selecting previously unselected package subversion. 118s Preparing to unpack .../43-subversion_1.14.5-3_amd64.deb ... 118s Unpacking subversion (1.14.5-3) ... 118s Selecting previously unselected package python3-iniparse. 118s Preparing to unpack .../44-python3-iniparse_0.5.1-1_all.deb ... 118s Unpacking python3-iniparse (0.5.1-1) ... 118s Selecting previously unselected package python3-pycountry. 118s Preparing to unpack .../45-python3-pycountry_24.6.1+ds1-1_all.deb ... 118s Unpacking python3-pycountry (24.6.1+ds1-1) ... 118s Setting up python3-iniconfig (1.1.1-2) ... 118s Setting up libxapian30:amd64 (1.4.29-3) ... 118s Setting up python3-rapidfuzz (3.12.2+ds-1build1) ... 118s Setting up python3-diff-match-patch (20241021-1) ... 118s Setting up python3-aeidon (1.15-2) ... 118s Setting up libutf8proc3:amd64 (2.10.0-2) ... 118s Setting up libaspell15:amd64 (0.60.8.1-4) ... 118s Setting up python3-charset-normalizer (3.4.2-1) ... 118s Setting up python3-ply (3.11-9) ... 118s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 118s Setting up python3-all (3.13.7-1) ... 118s Setting up python3-pytz (2025.2-4) ... 118s Setting up libgomp1:amd64 (15.2.0-5ubuntu1) ... 118s Setting up python3-packaging (25.0-1) ... 118s Setting up emacsen-common (3.0.8) ... 118s Setting up python3-cheroot (10.0.1+ds1-4) ... 118s Setting up python3-pycountry (24.6.1+ds1-1) ... 119s Setting up python3-xapian (1.4.29-1build1) ... 119s Setting up python3-cwcwidth (0.1.10-1build2) ... 119s Setting up python3-pluggy (1.6.0-1) ... 119s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 119s Setting up python3-mistletoe (1.4.0-1) ... 119s Setting up libexttextcat-data (3.4.7-1ubuntu1) ... 119s Setting up libapr1t64:amd64 (1.7.5-1) ... 119s Setting up libxslt1.1:amd64 (1.1.43-0.1) ... 119s Setting up python3-dateutil (2.9.0-4) ... 119s Setting up python3-levenshtein (0.27.1-2build1) ... 119s Setting up libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 119s Setting up python3-soupsieve (2.7-2) ... 119s Setting up python3-iniparse (0.5.1-1) ... 119s Setting up libaprutil1t64:amd64 (1.6.3-3ubuntu2) ... 119s Setting up python3-vobject (0.9.9+dfsg-1) ... 119s Setting up gettext (0.23.1-2build2) ... 119s Setting up python3-phply (1.2.6-1) ... 119s Setting up dictionaries-common (1.30.10) ... 120s Setting up python3-pytest (8.4.2-1) ... 120s Setting up python3-syrupy (5.0.0-1) ... 120s Setting up libserf-1-1:amd64 (1.3.10-3ubuntu1) ... 120s Setting up python3-bs4 (4.13.4-3) ... 120s Setting up python3-lxml:amd64 (6.0.1-1build1) ... 120s Setting up hunspell-en-us (1:2020.12.07-4) ... 120s Setting up libsvn1:amd64 (1.14.5-3) ... 120s Setting up libenchant-2-2:amd64 (2.8.2+dfsg1-3) ... 120s Setting up subversion (1.14.5-3) ... 120s Setting up python3-enchant (3.3.0~rc1-1) ... 120s Setting up python3-translate (3.15.1-1) ... 120s Processing triggers for libc-bin (2.42-0ubuntu3) ... 120s Processing triggers for man-db (2.13.1-1) ... 121s Processing triggers for install-info (7.1.1-1ubuntu1) ... 121s Processing triggers for dictionaries-common (1.30.10) ... 123s autopkgtest [07:13:28]: test python3-translate: [----------------------- 123s ============================= test session starts ============================== 123s platform linux -- Python 3.13.9, pytest-8.4.2, pluggy-1.6.0 -- /usr/bin/python3.13 123s cachedir: .pytest_cache 123s rootdir: /tmp/autopkgtest.qyrjWB/autopkgtest_tmp 123s plugins: syrupy-5.0.0, typeguard-4.4.2 126s collecting ... collected 3383 items / 2 skipped 126s 126s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 126s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 126s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 126s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 126s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 126s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 126s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 126s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 126s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 126s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 126s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 126s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 126s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 126s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 126s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 126s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 126s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 126s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 126s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 126s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 126s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 126s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 126s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 126s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 126s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 126s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 126s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 126s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 126s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 126s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 126s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 126s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 126s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 126s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 126s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 126s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 126s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 126s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 126s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 126s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 126s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 126s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 126s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 126s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 126s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 126s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 126s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 126s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 126s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 126s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 126s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 3%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 4%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 126s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 126s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 126s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 126s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 126s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 126s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 126s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 126s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 126s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 126s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 126s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 126s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 6%] 126s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 126s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 126s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 126s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 126s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 126s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 126s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 126s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 126s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 126s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 126s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 126s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 126s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 126s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 126s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 126s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 126s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 126s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 126s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 126s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 126s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 126s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 126s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 126s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 126s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 126s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 126s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 126s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 126s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 126s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 126s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 126s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 126s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 126s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 7%] 126s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 126s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 126s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 126s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 126s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 126s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 126s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 126s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 126s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 126s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 126s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 126s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 126s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 126s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 126s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 126s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 126s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 126s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 126s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 126s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 126s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 126s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 126s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 126s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 126s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 126s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 126s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 126s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 126s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 126s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 126s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 126s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 126s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 126s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 8%] 126s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 126s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 126s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 126s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 126s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 126s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 126s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 126s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 126s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 126s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 126s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 126s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 126s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 126s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 126s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 126s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 126s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 126s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 126s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 126s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 126s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 126s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 126s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 126s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 126s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 126s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 126s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 126s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 126s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 126s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 126s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 126s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 126s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 9%] 126s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 9%] 126s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 126s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 126s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 126s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 126s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 126s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 126s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 126s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 126s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 126s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 126s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 126s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 126s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 126s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 126s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 126s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 126s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 126s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 126s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 126s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 126s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 126s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 126s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 126s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 126s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 126s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 126s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 126s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 126s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 126s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 10%] 126s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 126s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 126s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 10%] 126s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 10%] 126s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 126s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 126s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 126s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 126s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 126s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 127s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 127s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 11%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 12%] 127s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 12%] 127s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 12%] 127s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 12%] 127s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 127s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 127s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 127s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 127s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 127s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 127s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 13%] 127s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 127s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 127s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 127s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 127s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 127s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 127s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 127s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 127s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 14%] 127s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 14%] 127s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 127s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 127s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 15%] 127s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 15%] 127s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 15%] 127s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 127s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 127s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 127s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 127s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 127s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 127s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 127s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 127s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 127s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 127s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 127s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 127s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 127s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 127s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 127s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 127s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 127s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 127s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 127s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 127s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 127s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 127s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 127s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 127s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 127s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 127s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 16%] 127s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 16%] 127s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 127s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 127s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 127s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 16%] 127s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 16%] 127s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 16%] 127s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 127s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 127s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 127s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 127s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 127s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 127s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 127s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 127s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 127s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 127s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 127s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 127s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 127s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 127s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 127s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 127s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 127s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 127s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 127s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 127s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 127s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 127s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 127s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 127s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 127s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 127s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 17%] 127s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 17%] 127s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 17%] 127s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 17%] 127s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 127s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 17%] 127s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 17%] 127s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 127s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 127s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 127s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 127s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 127s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 127s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 127s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 127s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 127s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 127s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 127s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 127s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 127s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 127s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 127s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 127s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 127s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 127s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 127s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 127s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 127s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 127s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 18%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 18%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 18%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 18%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 18%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 18%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 18%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 18%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 19%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 127s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 127s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 127s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 127s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 127s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 127s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 127s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 127s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 127s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 127s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 127s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 127s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 127s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 127s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 20%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 20%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 20%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 20%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 20%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 20%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 20%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 127s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 127s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 127s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 127s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 127s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 21%] 127s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 21%] 127s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 21%] 127s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 21%] 127s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 21%] 127s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 21%] 127s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 21%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 21%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 21%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 127s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 127s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 22%] 127s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 22%] 127s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 22%] 127s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 22%] 127s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 22%] 127s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 22%] 127s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 22%] 127s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 22%] 127s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 22%] 127s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 127s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 127s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 127s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 127s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 127s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 127s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 127s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 127s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 127s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 127s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 127s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 127s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 127s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 127s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 127s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 127s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 127s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 127s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 127s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 127s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 127s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 127s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 127s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 127s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 23%] 127s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 23%] 127s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 23%] 127s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 23%] 127s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 23%] 127s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 23%] 127s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 23%] 127s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 23%] 127s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 23%] 127s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 127s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 127s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 127s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 127s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 127s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 127s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 127s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 127s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 127s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 127s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 127s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 127s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 127s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 127s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 127s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 127s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 127s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 127s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 127s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 127s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 127s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 127s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 127s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 127s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 24%] 127s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 24%] 127s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 24%] 127s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 24%] 127s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 24%] 127s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 24%] 127s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 24%] 127s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 24%] 127s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 24%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 24%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 25%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 26%] 127s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 26%] 127s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 127s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 127s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 27%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 127s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 127s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 127s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 127s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 127s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 128s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 128s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 128s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 128s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 128s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 28%] 128s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 28%] 128s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 28%] 128s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 28%] 128s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 28%] 128s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 28%] 128s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 28%] 128s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 28%] 128s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 28%] 128s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 28%] 128s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 28%] 128s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 28%] 128s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 128s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 128s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 128s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 128s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 128s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 128s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 128s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 128s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 128s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 128s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 128s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 128s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 128s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 128s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 128s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 128s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 128s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 128s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 128s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 128s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 128s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 29%] 128s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 29%] 128s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 29%] 128s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 29%] 128s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 29%] 128s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 29%] 128s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 29%] 128s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 29%] 128s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 29%] 128s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 29%] 128s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 29%] 128s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 29%] 128s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 128s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 128s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 128s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 128s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 128s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 128s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 128s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 128s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 128s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 128s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 128s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 128s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 128s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 128s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 128s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 128s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 128s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 128s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 128s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 128s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 128s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 128s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 30%] 128s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 30%] 128s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 30%] 128s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 30%] 128s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 30%] 128s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 30%] 128s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 30%] 128s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 30%] 128s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 30%] 128s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 30%] 128s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 30%] 128s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 30%] 128s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 128s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 128s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 128s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 128s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 128s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 128s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 128s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 128s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 128s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 128s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 128s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 128s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 128s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 128s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 128s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 128s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 128s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 128s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 128s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 128s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 128s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 31%] 128s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 31%] 128s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 31%] 128s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 31%] 128s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 31%] 128s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 31%] 128s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 31%] 128s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 31%] 128s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 31%] 128s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 31%] 128s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 31%] 128s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 31%] 128s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 31%] 128s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 128s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_long PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 32%] 128s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_numbers PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_options PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_printf PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 32%] 128s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 128s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 128s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 33%] 128s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_functions PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_emails PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_urls PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_credits PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_gconf PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_validxml PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 33%] 128s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 128s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 128s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 128s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 128s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 128s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 128s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 128s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 128s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 128s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 128s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 128s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 34%] 128s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 35%] 128s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 128s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 128s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 128s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 128s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 128s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 128s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 128s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 128s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 128s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 128s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 128s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 128s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 128s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 128s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 128s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 128s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 128s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 128s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 128s tests/translate/lang/test_common.py::test_alter_length PASSED [ 36%] 128s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 36%] 128s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 36%] 128s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 36%] 128s tests/translate/lang/test_el.py::test_sentences PASSED [ 36%] 128s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 36%] 128s tests/translate/lang/test_es.py::test_sentences PASSED [ 36%] 128s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 36%] 128s tests/translate/lang/test_fa.py::test_sentences PASSED [ 36%] 128s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 36%] 128s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 36%] 128s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 36%] 128s tests/translate/lang/test_fr.py::test_sentences PASSED [ 36%] 128s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 36%] 128s tests/translate/lang/test_hy.py::test_sentences PASSED [ 36%] 128s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 128s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 128s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 128s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 128s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 128s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 128s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 128s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 128s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 128s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 128s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 128s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 128s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 128s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 128s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 128s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 128s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 128s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 128s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 128s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 37%] 128s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 37%] 128s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 37%] 128s tests/translate/lang/test_team.py::test_simple PASSED [ 37%] 128s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 37%] 128s tests/translate/lang/test_th.py::test_sentences PASSED [ 37%] 128s tests/translate/lang/test_tr.py::test_sentences PASSED [ 37%] 128s tests/translate/lang/test_uk.py::test_sentences PASSED [ 37%] 128s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 37%] 128s tests/translate/lang/test_vi.py::test_sentences PASSED [ 37%] 128s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 37%] 128s tests/translate/lang/test_zh.py::test_sentences PASSED [ 37%] 128s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 37%] 128s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 37%] 128s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 37%] 128s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 128s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 38%] 128s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 128s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 128s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 128s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 128s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 128s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 128s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 128s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 128s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 128s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 128s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 128s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 128s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 128s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 128s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 128s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 128s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 128s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 38%] 128s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 38%] 128s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 38%] 128s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 38%] 128s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 38%] 128s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 38%] 128s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 38%] 128s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 38%] 128s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 38%] 128s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 38%] 128s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 38%] 128s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 38%] 128s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 38%] 128s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 38%] 128s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 38%] 128s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 128s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 128s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 128s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 128s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 128s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 128s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 128s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 128s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 128s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 129s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 39%] 129s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 129s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 129s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 129s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 129s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 129s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 129s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 129s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 129s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 129s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 129s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 129s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 129s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 129s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 129s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 129s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 129s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 129s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 129s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 40%] 129s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 40%] 129s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 40%] 129s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 40%] 129s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 40%] 129s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 40%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 42%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 44%] 129s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 129s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 129s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 129s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 129s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 129s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 129s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 129s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 129s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 129s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 129s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 129s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 129s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 129s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 129s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 129s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 129s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 129s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 129s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 129s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 129s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 129s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 129s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 45%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 45%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 45%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 45%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 45%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 45%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 129s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 129s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 129s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 129s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 129s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 129s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 129s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 129s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 129s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 129s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 46%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 46%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 46%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 46%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 46%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 46%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 129s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding_save PASSED [ 47%] 129s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 129s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 129s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 129s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 129s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 129s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 129s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 129s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 129s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 129s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 129s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 129s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 129s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 129s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 129s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 47%] 129s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 47%] 129s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 47%] 129s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 47%] 129s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 47%] 129s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 47%] 129s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 48%] 129s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 129s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 129s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 129s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 129s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 129s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 129s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 129s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 129s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 129s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 129s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 129s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 129s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 129s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 129s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 129s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 129s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 129s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 129s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 129s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 129s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 129s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 129s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 129s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 129s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 129s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 129s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 129s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 49%] 129s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 49%] 129s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 49%] 129s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 49%] 129s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 49%] 129s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 49%] 129s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 129s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 129s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 129s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 129s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 129s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 129s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 129s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 129s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 129s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 129s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 129s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 129s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 129s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 129s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 129s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 129s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 129s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 129s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 129s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 129s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 129s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 129s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 129s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 129s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 129s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 129s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 129s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 129s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 129s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 129s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 129s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 129s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 129s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 129s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 51%] 129s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 51%] 129s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 51%] 129s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 51%] 129s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 129s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 129s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 129s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 129s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_comments PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 54%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 56%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 57%] 129s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 129s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 129s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 129s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 129s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 129s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 129s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 58%] 129s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_invalid_nesting PASSED [ 58%] 129s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 129s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 129s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 129s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 129s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 129s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 129s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 129s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 129s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 129s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 129s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 129s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 129s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 129s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 58%] 129s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_invalid PASSED [ 58%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 58%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 58%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 58%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 58%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 129s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 129s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 129s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 129s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 59%] 129s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 59%] 129s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 59%] 129s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 59%] 129s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 59%] 129s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 129s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 129s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 129s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 129s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 129s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 129s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 129s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 129s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 129s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 129s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 129s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 129s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 129s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 129s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 129s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 129s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 129s tests/translate/storage/test_mo.py::TestMOFile::test_output SKIPPED [ 60%] 129s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 129s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 129s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 129s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 129s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 129s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 129s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 129s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 129s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 129s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 129s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 129s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 60%] 129s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 60%] 129s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 60%] 129s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 60%] 129s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 60%] 129s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 129s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 129s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 129s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 129s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 129s 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%] 129s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 61%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 129s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 129s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 129s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 129s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 129s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 129s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 129s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 62%] 129s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 62%] 129s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 62%] 129s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 62%] 129s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 62%] 129s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 62%] 129s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 129s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 129s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 129s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 129s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 129s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 129s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 129s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 129s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 129s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 129s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 129s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 129s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 129s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 129s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 129s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 129s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 129s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 129s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 129s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 129s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 129s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 129s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 129s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 129s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 129s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 129s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 129s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 129s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 63%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 63%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 63%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 63%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 63%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 63%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 64%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 65%] 129s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 129s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 129s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 129s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 129s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 129s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 129s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 129s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 129s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 129s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 129s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 130s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 130s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 130s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 130s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 130s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 130s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 130s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 130s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 130s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 130s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 130s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 130s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 130s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 130s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 130s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 130s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 130s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 130s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 66%] 130s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 66%] 130s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 66%] 130s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 66%] 130s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 66%] 130s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 66%] 130s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 67%] 130s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 68%] 130s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 130s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 130s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 130s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 130s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 130s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 130s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 130s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 130s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 130s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 130s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 130s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 130s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 69%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 69%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 69%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 69%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 69%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 69%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 69%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 70%] 130s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 70%] 130s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 130s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 130s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 130s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 130s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 130s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 130s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 130s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 130s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 130s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 71%] 130s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 72%] 130s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 73%] 130s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 74%] 130s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 130s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 130s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 130s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 130s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 130s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 130s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 130s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 130s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 130s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 130s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 130s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 130s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 130s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 130s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 130s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 75%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 75%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 75%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 75%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 75%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 75%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 75%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 75%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 76%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 77%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 78%] 130s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 78%] 130s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 78%] 130s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 78%] 130s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 78%] 130s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 130s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 130s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 130s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 130s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 130s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 130s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 130s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 130s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 130s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 130s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 130s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 130s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 130s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 130s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 130s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 130s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 130s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 130s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 130s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 130s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 130s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 130s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 130s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 130s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 130s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 130s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 79%] 130s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 79%] 130s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 79%] 130s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 79%] 130s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 79%] 130s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 79%] 130s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 79%] 130s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 79%] 130s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 130s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 130s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 130s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 130s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 130s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 130s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 130s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 130s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 130s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 130s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 130s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 130s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 130s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 130s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 130s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 130s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 130s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 130s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 130s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 130s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 130s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 130s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 130s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 130s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 130s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 130s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 80%] 131s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 80%] 131s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 80%] 131s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 80%] 131s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 80%] 131s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 80%] 131s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 80%] 131s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 80%] 131s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 131s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 131s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 131s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 131s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 131s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 131s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 131s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 131s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 131s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 131s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 131s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 131s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 131s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 131s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 131s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 131s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 131s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 131s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 131s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 131s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 131s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 131s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 131s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 131s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 131s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 81%] 131s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 81%] 131s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 81%] 131s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 81%] 131s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 81%] 131s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 81%] 131s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 81%] 131s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 81%] 131s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 81%] 131s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 131s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 131s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 131s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 131s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 131s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 131s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 131s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 131s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 131s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 131s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 131s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 131s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 131s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 131s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 131s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 131s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 82%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 82%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 82%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 82%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 82%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 82%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 82%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 82%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 131s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 131s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 131s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 131s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 83%] 131s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 83%] 131s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 83%] 131s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 83%] 131s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 83%] 131s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 83%] 131s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 83%] 131s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 83%] 131s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 83%] 131s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 83%] 131s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_ordering PASSED [ 83%] 131s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create_blank PASSED [ 83%] 131s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_add PASSED [ 83%] 131s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_remove PASSED [ 83%] 131s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_find PASSED [ 83%] 131s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_parse PASSED [ 83%] 131s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_files PASSED [ 83%] 131s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_save PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_extensions PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_mimetypes PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_translate PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_markup PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_nonascii PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_ordering PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 84%] 131s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_ordering PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_ordering PASSED [ 84%] 131s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 85%] 131s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 85%] 131s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 85%] 131s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 131s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 131s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 131s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 131s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 131s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 131s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 131s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 131s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 131s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_ordering PASSED [ 85%] 131s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 131s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 131s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 131s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 131s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 131s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 131s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 131s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 131s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 131s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 131s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 131s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 131s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 131s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 131s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 131s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 131s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 131s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 131s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 131s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 131s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 131s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 86%] 131s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 86%] 131s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 86%] 131s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 86%] 131s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 131s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 131s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 131s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 131s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 131s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 131s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 131s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 131s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 131s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 131s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 131s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 131s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 131s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 131s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 131s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 131s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 131s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 131s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 131s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 131s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 131s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 131s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 131s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 131s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 131s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 131s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 131s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 131s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 131s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 131s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 87%] 131s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 87%] 131s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 87%] 131s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 131s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 131s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 131s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 131s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 131s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 131s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 131s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 131s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 131s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 131s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 131s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 131s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 131s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 131s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 131s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 131s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 131s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 131s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 131s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 131s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 131s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 131s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 88%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 88%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 88%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 131s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 131s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 131s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 131s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 131s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 131s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 131s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 131s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 131s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 131s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 131s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 131s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 131s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 131s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 131s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 89%] 131s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 89%] 131s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 89%] 131s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 131s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 131s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 131s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 131s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 131s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 131s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 131s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 131s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 131s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 131s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 131s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 131s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 131s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 131s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 131s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 131s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 131s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 131s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 131s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 131s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 131s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 131s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 131s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 131s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 131s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 131s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 131s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 131s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 131s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 131s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 131s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 131s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 131s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 131s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 131s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 131s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 131s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 131s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 131s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 131s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 131s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 131s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 92%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 131s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 92%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 93%] 131s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 131s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 131s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 131s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 131s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 131s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 131s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 131s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 131s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 131s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 131s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 131s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 131s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_blank PASSED [ 94%] 131s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_partial PASSED [ 94%] 131s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 131s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 131s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 131s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 131s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 131s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 131s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 131s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 131s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 131s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 131s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 131s tests/translate/tools/test_help.py::test_help[build_tmdb] SKIPPED (S...) [ 94%] 131s tests/translate/tools/test_help.py::test_help[phppo2pypo] SKIPPED (S...) [ 94%] 131s tests/translate/tools/test_help.py::test_help[poclean] SKIPPED (Skip...) [ 94%] 131s tests/translate/tools/test_help.py::test_help[pocompile] SKIPPED (Sk...) [ 94%] 131s tests/translate/tools/test_help.py::test_help[poconflicts] SKIPPED (...) [ 94%] 131s tests/translate/tools/test_help.py::test_help[pocount] SKIPPED (Skip...) [ 94%] 131s tests/translate/tools/test_help.py::test_help[podebug] SKIPPED (Skip...) [ 94%] 131s tests/translate/tools/test_help.py::test_help[pogrep] SKIPPED (Skip ...) [ 94%] 131s tests/translate/tools/test_help.py::test_help[pomerge] SKIPPED (Skip...) [ 95%] 131s tests/translate/tools/test_help.py::test_help[porestructure] SKIPPED [ 95%] 131s tests/translate/tools/test_help.py::test_help[posegment] SKIPPED (Sk...) [ 95%] 131s tests/translate/tools/test_help.py::test_help[poswap] SKIPPED (Skip ...) [ 95%] 131s tests/translate/tools/test_help.py::test_help[poterminology] SKIPPED [ 95%] 131s tests/translate/tools/test_help.py::test_help[pretranslate] SKIPPED [ 95%] 131s tests/translate/tools/test_help.py::test_help[pydiff] SKIPPED (Skip ...) [ 95%] 131s tests/translate/tools/test_help.py::test_help[pypo2phppo] SKIPPED (S...) [ 95%] 131s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 131s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 131s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 131s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 131s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 131s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 131s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 131s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 131s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 131s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 131s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 131s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 131s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 131s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 131s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 131s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 131s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 131s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 131s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 131s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 131s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 131s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 131s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 131s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 131s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 131s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 131s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 96%] 131s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 131s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 131s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 131s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 131s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 131s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 131s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 131s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 131s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 131s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 131s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 131s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 131s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 131s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 131s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 131s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 131s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 131s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 131s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 131s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 131s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 131s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 131s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 131s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 131s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 131s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 131s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 131s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 131s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 131s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 131s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 131s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 131s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 131s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 131s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 131s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 131s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 132s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 132s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 132s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 132s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 132s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 132s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 132s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 132s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 132s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 132s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 132s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 132s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 132s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 132s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 132s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 132s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 132s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 132s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 132s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 132s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 132s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 132s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 132s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 132s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 132s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 132s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 132s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 132s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 132s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 132s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 132s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 132s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 132s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 132s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 132s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff SKIPPED [ 99%] 132s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff SKIPPED [100%] 132s 132s =============================== warnings summary =============================== 132s tests/translate/storage/test_cpo.py:15 132s Warning: 132s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 132s ImportError('gettext PO library not found') 132s In pytest 9.1 this warning will become an error by default. 132s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 132s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 132s 132s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 132s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.qyrjWB/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 132s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 132s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 132s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 132s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 132s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 132s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 132s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 132s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 132s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 132s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 132s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 132s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 132s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 132s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 132s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 132s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 132s Warning: Could not find accesskey for key.accesskey 132s 132s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 132s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 132s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 132s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 132s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 132s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.qyrjWB/autopkgtest_tmp/tests/translate/convert/test.idml'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 132s Warning: unclosed file <_io.BufferedReader name='translation.po'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 132s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 132s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 132s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 132s Warning: Could not find accesskey for prop.accesskey 132s 132s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 132s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 132s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 132s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 132s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 132s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 132s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 132s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 132s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 132s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 132s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 132s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.qyrjWB/autopkgtest_tmp/tests/translate/convert/test.odt'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 132s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 132s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 132s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 132s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 132s Enable tracemalloc to get traceback where the object was allocated. 132s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 132s 132s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 132s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 132s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 132s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 132s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 132s 132s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 132s Warning: DTD parse error: :1:35:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 132s 132s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 132s Warning: DTD file '' does not validate 132s 132s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 132s --------------------------- snapshot report summary ---------------------------- 132s 23 snapshots passed. 132s =========================== short test summary info ============================ 132s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 132s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 132s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 132s SKIPPED [1] tests/translate/storage/test_mo.py:498: Skip testing command line tools 132s SKIPPED [16] tests/translate/tools/test_help.py:16: Skip testing command line tools 132s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:49: Skip testing command line tools 132s SKIPPED [1] tests/xliff_conformance/test_xliff_conformance.py:58: Skip testing command line tools 132s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 132s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 132s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 132s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 132s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 132s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 132s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 132s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 132s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 132s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 132s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 132s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 132s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 132s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 132s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 132s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 132s 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. 132s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 132s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 132s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 132s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 132s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 132s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 132s 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 132s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 132s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 132s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 132s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 132s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 132s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 132s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 132s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 132s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 132s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 132s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 132s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 132s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 132s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 132s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 132s ========== 3324 passed, 22 skipped, 39 xfailed, 50 warnings in 8.74s =========== 133s autopkgtest [07:13:38]: test python3-translate: -----------------------] 133s python3-translate PASS 133s autopkgtest [07:13:38]: test python3-translate: - - - - - - - - - - results - - - - - - - - - - 133s autopkgtest [07:13:38]: test python3-translate-commands: preparing testbed 141s Creating nova instance adt-resolute-amd64-translate-toolkit-20251024-071124-juju-7f2275-prod-proposed-migration-environment-2-ff964e4b-2f2a-4c09-a040-0f91175a09ce from image adt/ubuntu-resolute-amd64-server-20251024.img (UUID 310022dd-8dd9-48c7-a816-c2d8419ef402)... 169s autopkgtest [07:14:14]: testbed dpkg architecture: amd64 169s autopkgtest [07:14:14]: testbed apt version: 3.1.8ubuntu1 169s autopkgtest [07:14:14]: @@@@@@@@@@@@@@@@@@@@ test bed setup 169s autopkgtest [07:14:14]: testbed release detected to be: resolute 170s autopkgtest [07:14:15]: updating testbed package index (apt update) 170s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [87.8 kB] 170s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 170s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 170s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 170s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [533 kB] 170s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [61.6 kB] 171s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [15.0 kB] 171s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5028 B] 171s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 Packages [147 kB] 171s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main i386 Packages [97.2 kB] 171s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 c-n-f Metadata [3040 B] 171s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/restricted i386 Packages [3208 B] 171s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 Packages [28.0 kB] 171s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 c-n-f Metadata [336 B] 171s Get:15 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 Packages [385 kB] 171s Get:16 http://ftpmaster.internal/ubuntu resolute-proposed/universe i386 Packages [145 kB] 171s Get:17 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 c-n-f Metadata [10.8 kB] 171s Get:18 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 Packages [6744 B] 171s Get:19 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse i386 Packages [3156 B] 171s Get:20 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 c-n-f Metadata [492 B] 172s Fetched 1532 kB in 1s (1518 kB/s) 172s Reading package lists... 173s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 173s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 173s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 173s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 173s Reading package lists... 173s Reading package lists... 173s Building dependency tree... 173s Reading state information... 174s Calculating upgrade... 174s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 174s autopkgtest [07:14:19]: upgrading testbed (apt dist-upgrade and autopurge) 174s Reading package lists... 174s Building dependency tree... 174s Reading state information... 174s Calculating upgrade... 174s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 174s Reading package lists... 174s Building dependency tree... 174s Reading state information... 174s Solving dependencies... 175s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 177s Reading package lists... 177s Building dependency tree... 177s Reading state information... 177s Solving dependencies... 177s The following NEW packages will be installed: 177s dictionaries-common emacsen-common gettext hunspell-en-us libapr1t64 177s libaprutil1t64 libaspell15 libenchant-2-2 libexttextcat-data libgomp1 177s libhunspell-1.7-0 libserf-1-1 libsvn1 libutf8proc3 libxapian30 libxslt1.1 177s python3-aeidon python3-all python3-bs4 python3-charset-normalizer 177s python3-cheroot python3-cwcwidth python3-dateutil python3-diff-match-patch 177s python3-enchant python3-iniconfig python3-iniparse python3-levenshtein 177s python3-lxml python3-mistletoe python3-packaging python3-phply 177s python3-pluggy python3-ply python3-pycountry python3-pytest python3-pytz 177s python3-rapidfuzz python3-ruamel.yaml python3-ruamel.yaml.clib 177s python3-soupsieve python3-syrupy python3-translate python3-vobject 177s python3-wcwidth python3-xapian subversion translate-toolkit 177s 0 upgraded, 48 newly installed, 0 to remove and 0 not upgraded. 177s Need to get 14.4 MB of archives. 177s After this operation, 77.3 MB of additional disk space will be used. 177s Get:1 http://ftpmaster.internal/ubuntu resolute/main amd64 emacsen-common all 3.0.8 [13.9 kB] 178s Get:2 http://ftpmaster.internal/ubuntu resolute/main amd64 dictionaries-common all 1.30.10 [178 kB] 178s Get:3 http://ftpmaster.internal/ubuntu resolute/main amd64 libgomp1 amd64 15.2.0-5ubuntu1 [151 kB] 178s Get:4 http://ftpmaster.internal/ubuntu resolute/main amd64 gettext amd64 0.23.1-2build2 [1043 kB] 178s Get:5 http://ftpmaster.internal/ubuntu resolute/main amd64 hunspell-en-us all 1:2020.12.07-4 [585 kB] 178s Get:6 http://ftpmaster.internal/ubuntu resolute/main amd64 libapr1t64 amd64 1.7.5-1 [116 kB] 178s Get:7 http://ftpmaster.internal/ubuntu resolute/main amd64 libaprutil1t64 amd64 1.6.3-3ubuntu2 [98.5 kB] 178s Get:8 http://ftpmaster.internal/ubuntu resolute/main amd64 libaspell15 amd64 0.60.8.1-4 [353 kB] 178s Get:9 http://ftpmaster.internal/ubuntu resolute/main amd64 libhunspell-1.7-0 amd64 1.7.2+really1.7.2-10build3 [294 kB] 178s Get:10 http://ftpmaster.internal/ubuntu resolute/main amd64 libenchant-2-2 amd64 2.8.2+dfsg1-3 [59.0 kB] 178s Get:11 http://ftpmaster.internal/ubuntu resolute/main amd64 libexttextcat-data all 3.4.7-1ubuntu1 [193 kB] 178s Get:12 http://ftpmaster.internal/ubuntu resolute/universe amd64 libserf-1-1 amd64 1.3.10-3ubuntu1 [48.2 kB] 178s Get:13 http://ftpmaster.internal/ubuntu resolute/universe amd64 libutf8proc3 amd64 2.10.0-2 [71.6 kB] 178s Get:14 http://ftpmaster.internal/ubuntu resolute/universe amd64 libsvn1 amd64 1.14.5-3 [1354 kB] 178s Get:15 http://ftpmaster.internal/ubuntu resolute/universe amd64 libxapian30 amd64 1.4.29-3 [740 kB] 178s Get:16 http://ftpmaster.internal/ubuntu resolute/main amd64 libxslt1.1 amd64 1.1.43-0.1 [172 kB] 178s Get:17 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-aeidon all 1.15-2 [231 kB] 178s Get:18 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-all amd64 3.13.7-1 [884 B] 178s Get:19 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-soupsieve all 2.7-2 [33.6 kB] 178s Get:20 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-bs4 all 4.13.4-3 [137 kB] 178s Get:21 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-charset-normalizer amd64 3.4.2-1 [129 kB] 178s Get:22 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-cheroot all 10.0.1+ds1-4 [78.6 kB] 178s Get:23 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-cwcwidth amd64 0.1.10-1build2 [28.0 kB] 178s Get:24 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-dateutil all 2.9.0-4 [80.3 kB] 178s Get:25 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-diff-match-patch all 20241021-1 [33.6 kB] 178s Get:26 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-enchant all 3.3.0~rc1-1 [35.1 kB] 178s Get:27 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-iniconfig all 1.1.1-2 [6024 B] 178s Get:28 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-rapidfuzz amd64 3.12.2+ds-1build1 [2746 kB] 178s Get:29 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-levenshtein amd64 0.27.1-2build1 [145 kB] 178s Get:30 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-lxml amd64 6.0.1-1build1 [2336 kB] 178s Get:31 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-mistletoe all 1.4.0-1 [38.2 kB] 178s Get:32 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-packaging all 25.0-1 [52.8 kB] 178s Get:33 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-ply all 3.11-9 [45.8 kB] 178s Get:34 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-phply all 1.2.6-1 [50.5 kB] 178s Get:35 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pluggy all 1.6.0-1 [21.0 kB] 178s Get:36 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 python3-pytest all 8.4.2-1 [268 kB] 178s Get:37 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-pytz all 2025.2-4 [32.3 kB] 178s Get:38 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-ruamel.yaml.clib amd64 0.2.12+ds-1build1 [164 kB] 178s Get:39 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-ruamel.yaml all 0.18.10+ds-1 [127 kB] 178s Get:40 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-syrupy all 5.0.0-1 [47.9 kB] 178s Get:41 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-translate all 3.15.1-1 [319 kB] 178s Get:42 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-vobject all 0.9.9+dfsg-1 [41.5 kB] 178s Get:43 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-wcwidth all 0.2.13+dfsg1-1 [26.3 kB] 178s Get:44 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-xapian amd64 1.4.29-1build1 [588 kB] 178s Get:45 http://ftpmaster.internal/ubuntu resolute/universe amd64 subversion amd64 1.14.5-3 [911 kB] 178s Get:46 http://ftpmaster.internal/ubuntu resolute/universe amd64 translate-toolkit all 3.15.1-1 [81.0 kB] 178s Get:47 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-iniparse all 0.5.1-1 [21.2 kB] 178s Get:48 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pycountry all 24.6.1+ds1-1 [30.0 kB] 178s Preconfiguring packages ... 178s Fetched 14.4 MB in 1s (19.6 MB/s) 178s Selecting previously unselected package emacsen-common. 179s (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 ... 78459 files and directories currently installed.) 179s Preparing to unpack .../00-emacsen-common_3.0.8_all.deb ... 179s Unpacking emacsen-common (3.0.8) ... 179s Selecting previously unselected package dictionaries-common. 179s Preparing to unpack .../01-dictionaries-common_1.30.10_all.deb ... 179s Adding 'diversion of /usr/share/dict/words to /usr/share/dict/words.pre-dictionaries-common by dictionaries-common' 179s Unpacking dictionaries-common (1.30.10) ... 179s Selecting previously unselected package libgomp1:amd64. 179s Preparing to unpack .../02-libgomp1_15.2.0-5ubuntu1_amd64.deb ... 179s Unpacking libgomp1:amd64 (15.2.0-5ubuntu1) ... 179s Selecting previously unselected package gettext. 179s Preparing to unpack .../03-gettext_0.23.1-2build2_amd64.deb ... 179s Unpacking gettext (0.23.1-2build2) ... 179s Selecting previously unselected package hunspell-en-us. 179s Preparing to unpack .../04-hunspell-en-us_1%3a2020.12.07-4_all.deb ... 179s Unpacking hunspell-en-us (1:2020.12.07-4) ... 179s Selecting previously unselected package libapr1t64:amd64. 179s Preparing to unpack .../05-libapr1t64_1.7.5-1_amd64.deb ... 179s Unpacking libapr1t64:amd64 (1.7.5-1) ... 179s Selecting previously unselected package libaprutil1t64:amd64. 179s Preparing to unpack .../06-libaprutil1t64_1.6.3-3ubuntu2_amd64.deb ... 179s Unpacking libaprutil1t64:amd64 (1.6.3-3ubuntu2) ... 179s Selecting previously unselected package libaspell15:amd64. 179s Preparing to unpack .../07-libaspell15_0.60.8.1-4_amd64.deb ... 179s Unpacking libaspell15:amd64 (0.60.8.1-4) ... 179s Selecting previously unselected package libhunspell-1.7-0:amd64. 179s Preparing to unpack .../08-libhunspell-1.7-0_1.7.2+really1.7.2-10build3_amd64.deb ... 179s Unpacking libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 179s Selecting previously unselected package libenchant-2-2:amd64. 179s Preparing to unpack .../09-libenchant-2-2_2.8.2+dfsg1-3_amd64.deb ... 179s Unpacking libenchant-2-2:amd64 (2.8.2+dfsg1-3) ... 179s Selecting previously unselected package libexttextcat-data. 179s Preparing to unpack .../10-libexttextcat-data_3.4.7-1ubuntu1_all.deb ... 179s Unpacking libexttextcat-data (3.4.7-1ubuntu1) ... 179s Selecting previously unselected package libserf-1-1:amd64. 179s Preparing to unpack .../11-libserf-1-1_1.3.10-3ubuntu1_amd64.deb ... 179s Unpacking libserf-1-1:amd64 (1.3.10-3ubuntu1) ... 179s Selecting previously unselected package libutf8proc3:amd64. 179s Preparing to unpack .../12-libutf8proc3_2.10.0-2_amd64.deb ... 179s Unpacking libutf8proc3:amd64 (2.10.0-2) ... 179s Selecting previously unselected package libsvn1:amd64. 179s Preparing to unpack .../13-libsvn1_1.14.5-3_amd64.deb ... 179s Unpacking libsvn1:amd64 (1.14.5-3) ... 179s Selecting previously unselected package libxapian30:amd64. 179s Preparing to unpack .../14-libxapian30_1.4.29-3_amd64.deb ... 179s Unpacking libxapian30:amd64 (1.4.29-3) ... 179s Selecting previously unselected package libxslt1.1:amd64. 179s Preparing to unpack .../15-libxslt1.1_1.1.43-0.1_amd64.deb ... 179s Unpacking libxslt1.1:amd64 (1.1.43-0.1) ... 179s Selecting previously unselected package python3-aeidon. 179s Preparing to unpack .../16-python3-aeidon_1.15-2_all.deb ... 179s Unpacking python3-aeidon (1.15-2) ... 179s Selecting previously unselected package python3-all. 179s Preparing to unpack .../17-python3-all_3.13.7-1_amd64.deb ... 179s Unpacking python3-all (3.13.7-1) ... 179s Selecting previously unselected package python3-soupsieve. 179s Preparing to unpack .../18-python3-soupsieve_2.7-2_all.deb ... 179s Unpacking python3-soupsieve (2.7-2) ... 179s Selecting previously unselected package python3-bs4. 179s Preparing to unpack .../19-python3-bs4_4.13.4-3_all.deb ... 179s Unpacking python3-bs4 (4.13.4-3) ... 179s Selecting previously unselected package python3-charset-normalizer. 179s Preparing to unpack .../20-python3-charset-normalizer_3.4.2-1_amd64.deb ... 179s Unpacking python3-charset-normalizer (3.4.2-1) ... 179s Selecting previously unselected package python3-cheroot. 179s Preparing to unpack .../21-python3-cheroot_10.0.1+ds1-4_all.deb ... 179s Unpacking python3-cheroot (10.0.1+ds1-4) ... 179s Selecting previously unselected package python3-cwcwidth. 179s Preparing to unpack .../22-python3-cwcwidth_0.1.10-1build2_amd64.deb ... 179s Unpacking python3-cwcwidth (0.1.10-1build2) ... 179s Selecting previously unselected package python3-dateutil. 179s Preparing to unpack .../23-python3-dateutil_2.9.0-4_all.deb ... 179s Unpacking python3-dateutil (2.9.0-4) ... 179s Selecting previously unselected package python3-diff-match-patch. 179s Preparing to unpack .../24-python3-diff-match-patch_20241021-1_all.deb ... 179s Unpacking python3-diff-match-patch (20241021-1) ... 179s Selecting previously unselected package python3-enchant. 179s Preparing to unpack .../25-python3-enchant_3.3.0~rc1-1_all.deb ... 179s Unpacking python3-enchant (3.3.0~rc1-1) ... 179s Selecting previously unselected package python3-iniconfig. 179s Preparing to unpack .../26-python3-iniconfig_1.1.1-2_all.deb ... 179s Unpacking python3-iniconfig (1.1.1-2) ... 179s Selecting previously unselected package python3-rapidfuzz. 179s Preparing to unpack .../27-python3-rapidfuzz_3.12.2+ds-1build1_amd64.deb ... 179s Unpacking python3-rapidfuzz (3.12.2+ds-1build1) ... 179s Selecting previously unselected package python3-levenshtein. 179s Preparing to unpack .../28-python3-levenshtein_0.27.1-2build1_amd64.deb ... 179s Unpacking python3-levenshtein (0.27.1-2build1) ... 179s Selecting previously unselected package python3-lxml:amd64. 179s Preparing to unpack .../29-python3-lxml_6.0.1-1build1_amd64.deb ... 179s Unpacking python3-lxml:amd64 (6.0.1-1build1) ... 179s Selecting previously unselected package python3-mistletoe. 179s Preparing to unpack .../30-python3-mistletoe_1.4.0-1_all.deb ... 179s Unpacking python3-mistletoe (1.4.0-1) ... 179s Selecting previously unselected package python3-packaging. 179s Preparing to unpack .../31-python3-packaging_25.0-1_all.deb ... 179s Unpacking python3-packaging (25.0-1) ... 179s Selecting previously unselected package python3-ply. 179s Preparing to unpack .../32-python3-ply_3.11-9_all.deb ... 179s Unpacking python3-ply (3.11-9) ... 179s Selecting previously unselected package python3-phply. 179s Preparing to unpack .../33-python3-phply_1.2.6-1_all.deb ... 179s Unpacking python3-phply (1.2.6-1) ... 179s Selecting previously unselected package python3-pluggy. 179s Preparing to unpack .../34-python3-pluggy_1.6.0-1_all.deb ... 179s Unpacking python3-pluggy (1.6.0-1) ... 179s Selecting previously unselected package python3-pytest. 179s Preparing to unpack .../35-python3-pytest_8.4.2-1_all.deb ... 179s Unpacking python3-pytest (8.4.2-1) ... 179s Selecting previously unselected package python3-pytz. 179s Preparing to unpack .../36-python3-pytz_2025.2-4_all.deb ... 179s Unpacking python3-pytz (2025.2-4) ... 179s Selecting previously unselected package python3-ruamel.yaml.clib. 179s Preparing to unpack .../37-python3-ruamel.yaml.clib_0.2.12+ds-1build1_amd64.deb ... 179s Unpacking python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 179s Selecting previously unselected package python3-ruamel.yaml. 179s Preparing to unpack .../38-python3-ruamel.yaml_0.18.10+ds-1_all.deb ... 179s Unpacking python3-ruamel.yaml (0.18.10+ds-1) ... 179s Selecting previously unselected package python3-syrupy. 179s Preparing to unpack .../39-python3-syrupy_5.0.0-1_all.deb ... 179s Unpacking python3-syrupy (5.0.0-1) ... 179s Selecting previously unselected package python3-translate. 179s Preparing to unpack .../40-python3-translate_3.15.1-1_all.deb ... 179s Unpacking python3-translate (3.15.1-1) ... 179s Selecting previously unselected package python3-vobject. 179s Preparing to unpack .../41-python3-vobject_0.9.9+dfsg-1_all.deb ... 179s Unpacking python3-vobject (0.9.9+dfsg-1) ... 179s Selecting previously unselected package python3-wcwidth. 179s Preparing to unpack .../42-python3-wcwidth_0.2.13+dfsg1-1_all.deb ... 179s Unpacking python3-wcwidth (0.2.13+dfsg1-1) ... 179s Selecting previously unselected package python3-xapian. 179s Preparing to unpack .../43-python3-xapian_1.4.29-1build1_amd64.deb ... 179s Unpacking python3-xapian (1.4.29-1build1) ... 179s Selecting previously unselected package subversion. 179s Preparing to unpack .../44-subversion_1.14.5-3_amd64.deb ... 179s Unpacking subversion (1.14.5-3) ... 179s Selecting previously unselected package translate-toolkit. 179s Preparing to unpack .../45-translate-toolkit_3.15.1-1_all.deb ... 179s Unpacking translate-toolkit (3.15.1-1) ... 179s Selecting previously unselected package python3-iniparse. 179s Preparing to unpack .../46-python3-iniparse_0.5.1-1_all.deb ... 179s Unpacking python3-iniparse (0.5.1-1) ... 179s Selecting previously unselected package python3-pycountry. 179s Preparing to unpack .../47-python3-pycountry_24.6.1+ds1-1_all.deb ... 179s Unpacking python3-pycountry (24.6.1+ds1-1) ... 179s Setting up python3-iniconfig (1.1.1-2) ... 179s Setting up libxapian30:amd64 (1.4.29-3) ... 179s Setting up python3-rapidfuzz (3.12.2+ds-1build1) ... 179s Setting up python3-diff-match-patch (20241021-1) ... 179s Setting up python3-aeidon (1.15-2) ... 180s Setting up libutf8proc3:amd64 (2.10.0-2) ... 180s Setting up libaspell15:amd64 (0.60.8.1-4) ... 180s Setting up python3-charset-normalizer (3.4.2-1) ... 180s Setting up python3-ply (3.11-9) ... 180s Setting up python3-ruamel.yaml.clib (0.2.12+ds-1build1) ... 180s Setting up python3-all (3.13.7-1) ... 180s Setting up python3-pytz (2025.2-4) ... 180s Setting up libgomp1:amd64 (15.2.0-5ubuntu1) ... 180s Setting up python3-packaging (25.0-1) ... 180s Setting up python3-wcwidth (0.2.13+dfsg1-1) ... 180s Setting up emacsen-common (3.0.8) ... 180s Setting up python3-cheroot (10.0.1+ds1-4) ... 180s Setting up python3-pycountry (24.6.1+ds1-1) ... 180s Setting up python3-xapian (1.4.29-1build1) ... 180s Setting up python3-cwcwidth (0.1.10-1build2) ... 180s Setting up python3-pluggy (1.6.0-1) ... 180s Setting up python3-ruamel.yaml (0.18.10+ds-1) ... 180s Setting up python3-mistletoe (1.4.0-1) ... 181s Setting up libexttextcat-data (3.4.7-1ubuntu1) ... 181s Setting up libapr1t64:amd64 (1.7.5-1) ... 181s Setting up libxslt1.1:amd64 (1.1.43-0.1) ... 181s Setting up python3-dateutil (2.9.0-4) ... 181s Setting up python3-levenshtein (0.27.1-2build1) ... 181s Setting up libhunspell-1.7-0:amd64 (1.7.2+really1.7.2-10build3) ... 181s Setting up python3-soupsieve (2.7-2) ... 181s Setting up python3-iniparse (0.5.1-1) ... 181s Setting up libaprutil1t64:amd64 (1.6.3-3ubuntu2) ... 181s Setting up python3-vobject (0.9.9+dfsg-1) ... 181s Setting up gettext (0.23.1-2build2) ... 181s Setting up python3-phply (1.2.6-1) ... 181s Setting up dictionaries-common (1.30.10) ... 181s Setting up python3-pytest (8.4.2-1) ... 181s Setting up python3-syrupy (5.0.0-1) ... 181s Setting up libserf-1-1:amd64 (1.3.10-3ubuntu1) ... 181s Setting up python3-bs4 (4.13.4-3) ... 182s Setting up python3-lxml:amd64 (6.0.1-1build1) ... 182s Setting up hunspell-en-us (1:2020.12.07-4) ... 182s Setting up libsvn1:amd64 (1.14.5-3) ... 182s Setting up libenchant-2-2:amd64 (2.8.2+dfsg1-3) ... 182s Setting up subversion (1.14.5-3) ... 182s Setting up python3-enchant (3.3.0~rc1-1) ... 182s Setting up python3-translate (3.15.1-1) ... 182s Setting up translate-toolkit (3.15.1-1) ... 182s Processing triggers for libc-bin (2.42-0ubuntu3) ... 182s Processing triggers for man-db (2.13.1-1) ... 183s Processing triggers for install-info (7.1.1-1ubuntu1) ... 183s Processing triggers for dictionaries-common (1.30.10) ... 185s autopkgtest [07:14:30]: test python3-translate-commands: [----------------------- 186s ============================= test session starts ============================== 186s platform linux -- Python 3.13.9, pytest-8.4.2, pluggy-1.6.0 -- /usr/bin/python3.13 186s cachedir: .pytest_cache 186s rootdir: /tmp/autopkgtest.qyrjWB/autopkgtest_tmp 186s plugins: syrupy-5.0.0, typeguard-4.4.2 188s collecting ... collected 3383 items / 2 skipped 188s 188s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff PASSED [ 0%] 188s tests/odf_xliff/test_odf_xliff.py::test_roundtrip PASSED [ 0%] 188s tests/odf_xliff/test_odf_xliff.py::test_odf2xliff2_inline PASSED [ 0%] 188s tests/translate/convert/test_accesskey.py::test_get_label_and_accesskey PASSED [ 0%] 188s tests/translate/convert/test_accesskey.py::test_extract_bad_accesskeys PASSED [ 0%] 188s tests/translate/convert/test_accesskey.py::test_ignore_entities PASSED [ 0%] 188s tests/translate/convert/test_accesskey.py::test_alternate_accesskey_marker PASSED [ 0%] 188s tests/translate/convert/test_accesskey.py::test_unicode PASSED [ 0%] 188s tests/translate/convert/test_accesskey.py::test_numeric PASSED [ 0%] 188s tests/translate/convert/test_accesskey.py::test_empty_string PASSED [ 0%] 188s tests/translate/convert/test_accesskey.py::test_end_of_string PASSED [ 0%] 188s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey PASSED [ 0%] 188s tests/translate/convert/test_accesskey.py::test_combine_label_accesskey_different_capitals PASSED [ 0%] 188s tests/translate/convert/test_accesskey.py::test_uncombinable PASSED [ 0%] 188s tests/translate/convert/test_accesskey.py::test_accesskey_already_in_text PASSED [ 0%] 188s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_no_template_units PASSED [ 0%] 188s tests/translate/convert/test_android2po.py::TestAndroid2PO::test_template_units PASSED [ 0%] 188s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_no_template_units PASSED [ 0%] 188s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_template_units PASSED [ 0%] 188s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_help PASSED [ 0%] 188s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid PASSED [ 0%] 188s tests/translate/convert/test_convert.py::TestConvertCommand::test_help PASSED [ 0%] 188s tests/translate/convert/test_csv2po.py::test_replacestrings PASSED [ 0%] 188s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity PASSED [ 0%] 188s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_simpleentity_with_template PASSED [ 0%] 188s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_newlines PASSED [ 0%] 188s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_tabs PASSED [ 0%] 188s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_quotes PASSED [ 0%] 188s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_empties PASSED [ 0%] 188s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_kdecomment PASSED [ 0%] 188s tests/translate/convert/test_csv2po.py::TestCSV2PO::test_escaped_newlines PASSED [ 0%] 188s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity PASSED [ 0%] 188s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_simpleentity_with_template PASSED [ 0%] 188s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_newlines PASSED [ 1%] 188s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_tabs PASSED [ 1%] 188s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_quotes PASSED [ 1%] 188s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_empties PASSED [ 1%] 188s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_kdecomment PASSED [ 1%] 188s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_escaped_newlines PASSED [ 1%] 188s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_help PASSED [ 1%] 188s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder PASSED [ 1%] 188s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_simpleentity PASSED [ 1%] 188s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_convertdtd PASSED [ 1%] 188s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_apos PASSED [ 1%] 188s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_quotes PASSED [ 1%] 188s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity PASSED [ 1%] 188s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_two_empty_entities PASSED [ 1%] 188s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_emptyentity_translated PASSED [ 1%] 188s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisaton_note_simple PASSED [ 1%] 188s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_localisation_note_merge PASSED [ 1%] 188s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_simple PASSED [ 1%] 188s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_label PASSED [ 1%] 188s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_onlyentity PASSED [ 1%] 188s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_donttranslate_commentedout PASSED [ 1%] 188s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_spaces_at_start_of_dtd_lines PASSED [ 1%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_folding PASSED [ 1%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accesskeys_mismatch PASSED [ 1%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_carriage_return_in_multiline_dtd PASSED [ 1%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_with_blankline PASSED [ 1%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_multiline_closing_quotes PASSED [ 1%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_preserving_spaces PASSED [ 1%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_escaping_newline_tabs PASSED [ 1%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_abandoned_accelerator PASSED [ 1%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_unassociable_accelerator PASSED [ 1%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_changed_labels_and_accelerators PASSED [ 1%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence XFAIL [ 1%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_exclude_entity_includes PASSED [ 1%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_linewraps PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merging_with_new_untranslated PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_merge_without_template PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_simpleentity PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_convertdtd PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_apos PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_quotes PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_two_empty_entities PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_emptyentity_translated PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisaton_note_simple PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_localisation_note_merge PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_simple PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_label PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_onlyentity PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_donttranslate_commentedout PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_spaces_at_start_of_dtd_lines PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_folding PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accesskeys_mismatch PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_carriage_return_in_multiline_dtd PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_with_blankline PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_multiline_closing_quotes PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_preserving_spaces PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_escaping_newline_tabs PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_abandoned_accelerator PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_unassociable_accelerator PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_changed_labels_and_accelerators PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence XFAIL [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_exclude_entity_includes PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_linewraps PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merging_with_new_untranslated PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_merge_without_template PASSED [ 2%] 189s tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_help PASSED [ 2%] 189s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_defaults PASSED [ 2%] 189s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_root_name PASSED [ 3%] 189s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_value_name PASSED [ 3%] 189s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_key PASSED [ 3%] 189s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_default_namespace PASSED [ 3%] 189s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_namespace_prefix PASSED [ 3%] 189s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_all_parameters PASSED [ 3%] 189s tests/translate/convert/test_flatxml2po.py::TestFlatXML2PO::test_empty_file_is_empty_store PASSED [ 3%] 189s tests/translate/convert/test_flatxml2po.py::TestFlatXML2POCommand::test_help PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_extract_lang_attribute_from_html_tag PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_title_with_linebreak PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_meta PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_br PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_p_with_linebreak_and_embedded_br PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_uppercase_html PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_div_with_linebreaks PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_a_with_linebreak PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_sequence_of_anchor_elements PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_img_empty PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_img_inside_a PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_tag_table_summary PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_simple PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_complex PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_table_empty PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_address PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_headings_with_linebreaks PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dt PASSED [ 3%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_dd PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_span PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_ul PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_lists PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_duplicates PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiline_reflow PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_nested_tags PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_carriage_return PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_encoding_latin1 PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_strip_html PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_text PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_entityrefs_in_attributes PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_charrefs PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_multiple_php PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_multiline PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_php_with_embedded_html PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_comments PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2PO::test_attribute_without_value PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_extract_lang_attribute_from_html_tag PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_do_not_extract_lang_attribute_from_tags_other_than_html PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_title_with_linebreak PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_meta PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_br PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_p_with_linebreak_and_embedded_br PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_uppercase_html PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_div_with_linebreaks PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_a_with_linebreak PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_sequence_of_anchor_elements PASSED [ 4%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_img_empty PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_img_inside_a PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_tag_table_summary PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_simple PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_complex PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_table_empty PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_address PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_headings_with_linebreaks PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dt PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_dd PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_span PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_ul PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_lists PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_duplicates PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiline_reflow PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_nested_tags PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_carriage_return PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_encoding_latin1 PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_strip_html PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_text PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_entityrefs_in_attributes PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_charrefs PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multiple_php PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_multiline PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_php_with_embedded_html PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_comments PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_attribute_without_value PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_help PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_single PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile PASSED [ 5%] 189s tests/translate/convert/test_html2po.py::TestHTML2POCommand::test_multifile_onefile_to_stdout PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_convert_empty_file PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_translations PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_summary PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_description PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_location PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_comment PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_no_template_duplicate_style PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_misaligned_files PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_blank_msgstr PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2PO::test_merge_duplicate_style PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_convert_empty_file PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_translations PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_summary PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_description PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_location PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_comment PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_no_template_duplicate_style PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_misaligned_files PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_blank_msgstr PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_merge_duplicate_style PASSED [ 6%] 189s tests/translate/convert/test_ical2po.py::TestIcal2POCommand::test_help PASSED [ 6%] 189s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_help PASSED [ 6%] 189s tests/translate/convert/test_idml2po.py::TestIDML2POCommand::test_convert PASSED [ 6%] 189s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_empty_file PASSED [ 6%] 189s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_no_translation PASSED [ 6%] 189s tests/translate/convert/test_ini2po.py::TestIni2PO::test_convert_simple PASSED [ 6%] 189s tests/translate/convert/test_ini2po.py::TestIni2PO::test_no_duplicates PASSED [ 6%] 189s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_simple PASSED [ 6%] 189s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_misaligned_files PASSED [ 6%] 189s tests/translate/convert/test_ini2po.py::TestIni2PO::test_merge_blank_msgstr PASSED [ 6%] 189s tests/translate/convert/test_ini2po.py::TestIni2PO::test_dialects_inno PASSED [ 6%] 189s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_empty_file PASSED [ 7%] 189s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_no_translation PASSED [ 7%] 189s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_convert_simple PASSED [ 7%] 189s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_no_duplicates PASSED [ 7%] 189s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_simple PASSED [ 7%] 189s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_misaligned_files PASSED [ 7%] 189s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_merge_blank_msgstr PASSED [ 7%] 189s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_dialects_inno PASSED [ 7%] 189s tests/translate/convert/test_ini2po.py::TestIni2POCommand::test_help PASSED [ 7%] 189s tests/translate/convert/test_json2po.py::TestJson2PO::test_simple PASSED [ 7%] 189s tests/translate/convert/test_json2po.py::TestJson2PO::test_three_same_keys PASSED [ 7%] 189s tests/translate/convert/test_json2po.py::TestJson2PO::test_filter PASSED [ 7%] 189s tests/translate/convert/test_json2po.py::TestJson2PO::test_miltiple_units PASSED [ 7%] 189s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_simple PASSED [ 7%] 189s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_three_same_keys PASSED [ 7%] 189s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_filter PASSED [ 7%] 189s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_miltiple_units PASSED [ 7%] 189s tests/translate/convert/test_json2po.py::TestJson2POCommand::test_help PASSED [ 7%] 189s tests/translate/convert/test_md2po.py::TestMD2PO::test_help PASSED [ 7%] 189s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_single PASSED [ 7%] 189s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_file_with_multifile_onefile PASSED [ 7%] 189s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_single PASSED [ 7%] 189s tests/translate/convert/test_md2po.py::TestMD2PO::test_markdown_directory_with_multifile_onefile PASSED [ 7%] 189s tests/translate/convert/test_moz2po.py::TestMoz2POCommand::test_help PASSED [ 7%] 189s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_simpleentry PASSED [ 7%] 189s tests/translate/convert/test_mozfunny2prop.py::TestInc2PO::test_uncomment_contributors PASSED [ 7%] 189s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_convert_empty PASSED [ 7%] 189s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_string PASSED [ 7%] 189s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_merge PASSED [ 7%] 189s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_entry PASSED [ 7%] 189s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_simple_comment PASSED [ 7%] 189s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_meta_tags PASSED [ 7%] 189s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_keep_duplicates PASSED [ 7%] 189s tests/translate/convert/test_mozlang2po.py::TestLang2PO::test_drop_duplicates PASSED [ 7%] 189s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_convert_empty PASSED [ 8%] 189s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_string PASSED [ 8%] 189s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_merge PASSED [ 8%] 189s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_entry PASSED [ 8%] 189s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_simple_comment PASSED [ 8%] 189s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_meta_tags PASSED [ 8%] 189s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_keep_duplicates PASSED [ 8%] 189s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_drop_duplicates PASSED [ 8%] 189s tests/translate/convert/test_mozlang2po.py::TestLang2POCommand::test_help PASSED [ 8%] 189s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_help PASSED [ 8%] 189s tests/translate/convert/test_ods2xliff.py::TestODF2XLIFFCommand::test_convert PASSED [ 8%] 189s tests/translate/convert/test_oo2po.py::TestOO2PO::test_simpleentity PASSED [ 8%] 189s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes PASSED [ 8%] 189s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_escape PASSED [ 8%] 189s tests/translate/convert/test_oo2po.py::TestOO2PO::test_roundtrip_whitespaceonly PASSED [ 8%] 189s tests/translate/convert/test_oo2po.py::TestOO2PO::test_double_escapes PASSED [ 8%] 189s tests/translate/convert/test_oo2po.py::TestOO2PO::test_escapes_helpcontent2 PASSED [ 8%] 189s tests/translate/convert/test_oo2po.py::TestOO2PO::test_msgid_bug_error_address PASSED [ 8%] 189s tests/translate/convert/test_oo2po.py::TestOO2PO::test_x_comment_inclusion PASSED [ 8%] 189s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simpleentity PASSED [ 8%] 189s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes PASSED [ 8%] 189s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 8%] 189s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 8%] 189s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_double_escapes PASSED [ 8%] 189s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 8%] 189s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 8%] 189s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 8%] 189s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_help PASSED [ 8%] 189s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_preserve_filename PASSED [ 8%] 189s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot PASSED [ 8%] 189s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po PASSED [ 8%] 189s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 8%] 189s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates PASSED [ 8%] 189s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_simpleentity PASSED [ 8%] 189s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes PASSED [ 9%] 189s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_escape PASSED [ 9%] 189s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_roundtrip_whitespaceonly PASSED [ 9%] 189s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_double_escapes PASSED [ 9%] 189s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_escapes_helpcontent2 PASSED [ 9%] 189s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_x_comment_inclusion PASSED [ 9%] 189s tests/translate/convert/test_oo2xliff.py::TestOO2XLIFF::test_msgid_bug_error_address PASSED [ 9%] 189s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simpleentity PASSED [ 9%] 189s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes PASSED [ 9%] 189s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_escape PASSED [ 9%] 189s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_roundtrip_whitespaceonly PASSED [ 9%] 189s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_double_escapes PASSED [ 9%] 189s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_escapes_helpcontent2 PASSED [ 9%] 189s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_x_comment_inclusion PASSED [ 9%] 189s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_msgid_bug_error_address PASSED [ 9%] 189s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_help PASSED [ 9%] 189s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_preserve_filename PASSED [ 9%] 189s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf PASSED [ 9%] 189s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po PASSED [ 9%] 189s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_onefile_nonrecursive PASSED [ 9%] 189s tests/translate/convert/test_php2po.py::TestPhp2PO::test_simpleentry PASSED [ 9%] 189s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphp PASSED [ 9%] 189s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphptemplate PASSED [ 9%] 189s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpmissing PASSED [ 9%] 189s tests/translate/convert/test_php2po.py::TestPhp2PO::test_convertphpempty PASSED [ 9%] 189s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unicode PASSED [ 9%] 189s tests/translate/convert/test_php2po.py::TestPhp2PO::test_multiline PASSED [ 9%] 189s tests/translate/convert/test_php2po.py::TestPhp2PO::test_comments_before PASSED [ 9%] 189s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry PASSED [ 9%] 189s tests/translate/convert/test_php2po.py::TestPhp2PO::test_hash_comment_with_equals PASSED [ 9%] 189s tests/translate/convert/test_php2po.py::TestPhp2PO::test_emptyentry_translated PASSED [ 9%] 189s tests/translate/convert/test_php2po.py::TestPhp2PO::test_newlines_in_value PASSED [ 9%] 189s tests/translate/convert/test_php2po.py::TestPhp2PO::test_spaces_in_name PASSED [ 9%] 189s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_array PASSED [ 9%] 189s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_array PASSED [ 10%] 189s tests/translate/convert/test_php2po.py::TestPhp2PO::test_named_nested_arrays PASSED [ 10%] 189s tests/translate/convert/test_php2po.py::TestPhp2PO::test_unnamed_nested_arrays PASSED [ 10%] 189s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_simpleentry PASSED [ 10%] 189s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphp PASSED [ 10%] 189s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphptemplate PASSED [ 10%] 189s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpmissing PASSED [ 10%] 189s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_convertphpempty PASSED [ 10%] 189s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unicode PASSED [ 10%] 189s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_multiline PASSED [ 10%] 189s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_comments_before PASSED [ 10%] 189s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry PASSED [ 10%] 189s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_hash_comment_with_equals PASSED [ 10%] 189s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_emptyentry_translated PASSED [ 10%] 189s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_newlines_in_value PASSED [ 10%] 189s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_spaces_in_name PASSED [ 10%] 189s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_array PASSED [ 10%] 189s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_array PASSED [ 10%] 189s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_named_nested_arrays PASSED [ 10%] 189s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_unnamed_nested_arrays PASSED [ 10%] 189s tests/translate/convert/test_php2po.py::TestPhp2POCommand::test_help PASSED [ 10%] 189s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_simpleentity PASSED [ 10%] 189s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_multiline PASSED [ 10%] 189s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapednewlines PASSED [ 10%] 189s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedtabs PASSED [ 10%] 189s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedquotes PASSED [ 10%] 189s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_escapedescape PASSED [ 10%] 189s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_singlequotes PASSED [ 10%] 189s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_empties PASSED [ 10%] 189s tests/translate/convert/test_po2csv.py::TestPO2CSV::test_kdecomments PASSED [ 10%] 189s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_simpleentity PASSED [ 10%] 189s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_multiline PASSED [ 10%] 189s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapednewlines PASSED [ 10%] 189s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedtabs PASSED [ 10%] 189s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedquotes PASSED [ 11%] 189s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_escapedescape PASSED [ 11%] 189s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_singlequotes PASSED [ 11%] 189s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_empties PASSED [ 11%] 189s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_kdecomments PASSED [ 11%] 189s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_help PASSED [ 11%] 189s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder PASSED [ 11%] 189s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_joinlines PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_escapedstr PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_missingaccesskey PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskeycase PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_types PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities_two PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_entities PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments_translator PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_retains_hashprefix PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_convertdtd PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_with_template PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_untranslated_without_template PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_blank_source PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_newlines_escapes PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_simple PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_escape PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_quotes PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_roundtrip_amp PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_merging_entries_with_spaces_removed PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces PASSED [ 11%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_preserving_spaces_after_value PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_comments PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_duplicates PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_joinlines PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_escapedstr PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_missingaccesskey PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskeycase PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_types PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_source_no_amp_in_target PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_both_amp_and_accesskey PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities_two PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_entities PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments_translator PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_retains_hashprefix PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_convertdtd PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_with_template PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_untranslated_without_template PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_blank_source PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_newlines_escapes PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_simple PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_escape PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_quotes PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_roundtrip_amp PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_merging_entries_with_spaces_removed PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_preserving_spaces_after_value PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_comments PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_duplicates PASSED [ 12%] 189s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_help PASSED [ 12%] 189s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_defaults PASSED [ 12%] 189s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_root_name PASSED [ 12%] 189s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_value_name PASSED [ 13%] 189s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_key PASSED [ 13%] 189s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_default_namespace PASSED [ 13%] 189s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_namespace_prefix PASSED [ 13%] 189s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_indent_eight PASSED [ 13%] 189s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXML::test_noindent PASSED [ 13%] 189s tests/translate/convert/test_po2flatxml.py::TestPO2FlatXMLCommand::test_help PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2Html::test_simple PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2Html::test_linebreaks PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2Html::test_replace_substrings PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_outside_translatable_content PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_embedded_within_translatable_content PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2Html::test_attribute_without_value PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2Html::test_entities PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2Html::test_escapes PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_translated PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_untranslated PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2Html::test_states_fuzzy PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2Html::test_untranslated_attributes PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_simple PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_linebreaks PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_replace_substrings PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_outside_translatable_content PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_within_translatable_content_not_embedded PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_embedded_within_translatable_content PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_attribute_without_value PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_entities PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_escapes PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_translated PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_untranslated PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_states_fuzzy PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_untranslated_attributes PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_help PASSED [ 13%] 189s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_individual_files PASSED [ 14%] 189s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_fully_recursive PASSED [ 14%] 189s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_input_specified PASSED [ 14%] 189s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified PASSED [ 14%] 189s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_output_specified PASSED [ 14%] 189s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file PASSED [ 14%] 189s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_empty_file PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_summary PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_description PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_location PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_comment PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_complex_icalendar PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_skip_fuzzy PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_include_fuzzy PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_no_template PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_template_location_not_in_source_file PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_below_threshold PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2Ical::test_convert_completion_above_threshold PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_empty_file PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_summary PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_description PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_location PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_comment PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_complex_icalendar PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_skip_fuzzy PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_include_fuzzy PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_no_template PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_template_location_not_in_source_file PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_below_threshold PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_convert_completion_above_threshold PASSED [ 14%] 189s tests/translate/convert/test_po2ical.py::TestPO2IcalCommand::test_help PASSED [ 14%] 189s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_help PASSED [ 14%] 189s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert PASSED [ 14%] 189s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_no_templates PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_simple PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_space_preservation PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_blank_entries PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_fuzzy PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_propertyless_template PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_empty_value PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_dialects_inno PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_misaligned_files PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_below_threshold PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_convert_completion_above_threshold PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_no_fuzzy PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_allow_fuzzy PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_missing_source PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2Ini::test_merging_repeated_locations PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_no_templates PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_simple PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_space_preservation PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_blank_entries PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_fuzzy PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_propertyless_template PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_empty_value PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_dialects_inno PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_misaligned_files PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_below_threshold PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_convert_completion_above_threshold PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_no_fuzzy PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_allow_fuzzy PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_missing_source PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_merging_repeated_locations PASSED [ 15%] 189s tests/translate/convert/test_po2ini.py::TestPO2IniCommand::test_help PASSED [ 15%] 189s tests/translate/convert/test_po2json.py::TestPO2JSON::test_basic PASSED [ 15%] 189s tests/translate/convert/test_po2json.py::TestPO2JSON::test_ordering_serialize PASSED [ 15%] 189s tests/translate/convert/test_po2json.py::TestPO2JSON::test_dont_use_empty_translation PASSED [ 15%] 189s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_false PASSED [ 16%] 189s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_false_remove_untranslated_true PASSED [ 16%] 189s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_false PASSED [ 16%] 189s tests/translate/convert/test_po2json.py::TestPO2JSON::test_includefuzzy_true_remove_untranslated_true PASSED [ 16%] 189s tests/translate/convert/test_po2md.py::TestPO2MD::test_help PASSED [ 16%] 189s tests/translate/convert/test_po2md.py::TestPO2MD::test_single_markdown_file_with_single_po PASSED [ 16%] 189s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po PASSED [ 16%] 189s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_and_directory_of_po_files PASSED [ 16%] 189s tests/translate/convert/test_po2moz.py::TestPO2MozCommand::test_help PASSED [ 16%] 189s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_empty PASSED [ 16%] 189s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_simple PASSED [ 16%] 189s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_comment PASSED [ 16%] 189s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_ok_marker PASSED [ 16%] 189s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_below_threshold PASSED [ 16%] 189s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_completion_above_threshold PASSED [ 16%] 189s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_convert_skip_non_translatable_input PASSED [ 16%] 189s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_no_fuzzy PASSED [ 16%] 189s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_allow_fuzzy PASSED [ 16%] 189s tests/translate/convert/test_po2mozlang.py::TestPO2Lang::test_mark_active PASSED [ 16%] 189s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_empty PASSED [ 16%] 189s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_simple PASSED [ 16%] 189s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_comment PASSED [ 16%] 189s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_ok_marker PASSED [ 16%] 189s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_below_threshold PASSED [ 16%] 189s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_completion_above_threshold PASSED [ 16%] 189s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_convert_skip_non_translatable_input PASSED [ 16%] 189s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_no_fuzzy PASSED [ 16%] 189s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_allow_fuzzy PASSED [ 16%] 189s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_mark_active PASSED [ 16%] 189s tests/translate/convert/test_po2mozlang.py::TestPO2LangCommand::test_help PASSED [ 16%] 189s tests/translate/convert/test_po2oo.py::TestPO2OO::test_convertoo PASSED [ 16%] 189s tests/translate/convert/test_po2oo.py::TestPO2OO::test_pofilter PASSED [ 16%] 189s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_simple PASSED [ 16%] 189s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_escape PASSED [ 16%] 189s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_quotes PASSED [ 17%] 189s tests/translate/convert/test_po2oo.py::TestPO2OO::test_roundtrip_spaces PASSED [ 17%] 189s tests/translate/convert/test_po2oo.py::TestPO2OO::test_default_timestamp PASSED [ 17%] 189s tests/translate/convert/test_po2oo.py::TestPO2OO::test_escape_conversion PASSED [ 17%] 189s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes PASSED [ 17%] 189s tests/translate/convert/test_po2oo.py::TestPO2OO::test_helpcontent_escapes2 PASSED [ 17%] 189s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_convertoo PASSED [ 17%] 189s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_pofilter PASSED [ 17%] 189s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_simple PASSED [ 17%] 189s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_escape PASSED [ 17%] 189s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_quotes PASSED [ 17%] 189s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_roundtrip_spaces PASSED [ 17%] 189s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp PASSED [ 17%] 189s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_escape_conversion PASSED [ 17%] 189s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes PASSED [ 17%] 189s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_helpcontent_escapes2 PASSED [ 17%] 189s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_help PASSED [ 17%] 189s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp PASSED [ 17%] 189s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_notemplate PASSED [ 17%] 189s tests/translate/convert/test_po2php.py::TestPO2Php::test_convertphp_empty_template PASSED [ 17%] 189s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_simple PASSED [ 17%] 189s tests/translate/convert/test_po2php.py::TestPO2Php::test_space_preservation PASSED [ 17%] 189s tests/translate/convert/test_po2php.py::TestPO2Php::test_preserve_unused_statement PASSED [ 17%] 189s tests/translate/convert/test_po2php.py::TestPO2Php::test_not_translated_multiline PASSED [ 17%] 189s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_blank_entries PASSED [ 17%] 189s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_fuzzy PASSED [ 17%] 189s tests/translate/convert/test_po2php.py::TestPO2Php::test_locations_with_spaces PASSED [ 17%] 189s tests/translate/convert/test_po2php.py::TestPO2Php::test_inline_comments PASSED [ 17%] 189s tests/translate/convert/test_po2php.py::TestPO2Php::test_block_comments PASSED [ 17%] 189s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_variables PASSED [ 17%] 189s tests/translate/convert/test_po2php.py::TestPO2Php::test_multiline PASSED [ 17%] 189s tests/translate/convert/test_po2php.py::TestPO2Php::test_hash_comment PASSED [ 17%] 189s tests/translate/convert/test_po2php.py::TestPO2Php::test_arrays PASSED [ 17%] 189s tests/translate/convert/test_po2php.py::TestPO2Php::test_named_nested_array PASSED [ 18%] 189s tests/translate/convert/test_po2php.py::TestPO2Php::test_unnamed_nested_arrays PASSED [ 18%] 189s tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template XFAIL [ 18%] 189s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp PASSED [ 18%] 189s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_notemplate PASSED [ 18%] 189s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_convertphp_empty_template PASSED [ 18%] 189s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_simple PASSED [ 18%] 189s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_space_preservation PASSED [ 18%] 189s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_preserve_unused_statement PASSED [ 18%] 189s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_not_translated_multiline PASSED [ 18%] 189s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_blank_entries PASSED [ 18%] 189s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_fuzzy PASSED [ 18%] 189s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_locations_with_spaces PASSED [ 18%] 189s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_inline_comments PASSED [ 18%] 189s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_block_comments PASSED [ 18%] 189s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_variables PASSED [ 18%] 189s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_multiline PASSED [ 18%] 189s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_hash_comment PASSED [ 18%] 189s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_arrays PASSED [ 18%] 189s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_named_nested_array PASSED [ 18%] 189s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_unnamed_nested_arrays PASSED [ 18%] 189s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template XFAIL [ 18%] 189s tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_help PASSED [ 18%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_simple PASSED [ 18%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated PASSED [ 18%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_hard_newlines_preserved PASSED [ 18%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_space_preservation PASSED [ 18%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_value PASSED [ 18%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_no_separator PASSED [ 18%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank_entries PASSED [ 18%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_fuzzy PASSED [ 18%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys PASSED [ 18%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey PASSED [ 18%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_margin_whitespace PASSED [ 18%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_all_whitespace PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_propertyless_template PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_delimiters PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_empty_value PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_personalities PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_simple PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_multiline2 PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_comments PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_untranslated_unchanged PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_merging_blank PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gaia_plurals PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_duplicates PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_gwt_plurals PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_simple PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_hard_newlines_preserved PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_space_preservation PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_value PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_no_separator PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank_entries PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_fuzzy PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_margin_whitespace PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_all_whitespace PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_propertyless_template PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_delimiters PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_empty_value PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_personalities PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_simple PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_multiline2 PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_comments PASSED [ 19%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_untranslated_unchanged PASSED [ 20%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_merging_blank PASSED [ 20%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gaia_plurals PASSED [ 20%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_duplicates PASSED [ 20%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_gwt_plurals PASSED [ 20%] 189s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_help PASSED [ 20%] 189s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_help PASSED [ 20%] 190s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert PASSED [ 20%] 190s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_quotes PASSED [ 20%] 190s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment PASSED [ 20%] 190s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_dos_eol PASSED [ 20%] 190s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_double_string PASSED [ 20%] 190s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_popup PASSED [ 20%] 190s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_discardable PASSED [ 20%] 190s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_menuex PASSED [ 20%] 190s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_newlines PASSED [ 20%] 190s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_comment_after PASSED [ 20%] 190s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_convert_block_language PASSED [ 20%] 190s tests/translate/convert/test_po2rc.py::TestPO2RCCommand::test_output_encoding PASSED [ 20%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_simpleunit PASSED [ 20%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_basic PASSED [ 20%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_multiline PASSED [ 20%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapednewlines PASSED [ 20%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedtabs PASSED [ 20%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_escapedquotes PASSED [ 20%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_exclusions PASSED [ 20%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments PASSED [ 20%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingcomment PASSED [ 20%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecomment PASSED [ 20%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 20%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments PASSED [ 20%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingcomment PASSED [ 20%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_translatorcomments_existingduplicatecomment PASSED [ 20%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments PASSED [ 20%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingduplicatecomment PASSED [ 21%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_combocomments_existingcomment PASSED [ 21%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESX::test_existingcomments PASSED [ 21%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_simpleunit PASSED [ 21%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_basic PASSED [ 21%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_multiline PASSED [ 21%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapednewlines PASSED [ 21%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedtabs PASSED [ 21%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_escapedquotes PASSED [ 21%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_exclusions PASSED [ 21%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments PASSED [ 21%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingcomment PASSED [ 21%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecomment PASSED [ 21%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_automaticcomments_existingduplicatecommentwithwhitespace PASSED [ 21%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments PASSED [ 21%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingcomment PASSED [ 21%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_translatorcomments_existingduplicatecomment PASSED [ 21%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments PASSED [ 21%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingduplicatecomment PASSED [ 21%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_combocomments_existingcomment PASSED [ 21%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_existingcomments PASSED [ 21%] 190s tests/translate/convert/test_po2resx.py::TestPO2RESXCommand::test_help PASSED [ 21%] 190s tests/translate/convert/test_po2sub.py::TestPO2Sub::test_subrip PASSED [ 21%] 190s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_subrip PASSED [ 21%] 190s tests/translate/convert/test_po2sub.py::TestPO2SubCommand::test_help PASSED [ 21%] 190s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_empty PASSED [ 21%] 190s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert PASSED [ 21%] 190s tests/translate/convert/test_po2tiki.py::TestPo2Tiki::test_convert_marked_untranslated PASSED [ 21%] 190s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_empty PASSED [ 21%] 190s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert PASSED [ 21%] 190s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_convert_marked_untranslated PASSED [ 21%] 190s tests/translate/convert/test_po2tiki.py::TestPo2TikiCommand::test_help PASSED [ 21%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_basic PASSED [ 21%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcelanguage PASSED [ 21%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_targetlanguage PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_multiline PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapednewlines PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedtabs PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_escapedquotes PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_exclusions PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonascii PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_nonecomments PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_otherscomments PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_sourcecomments PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMX::test_typecomments PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_basic PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcelanguage PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_targetlanguage PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_multiline PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapednewlines PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedtabs PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_escapedquotes PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_exclusions PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonascii PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_nonecomments PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_otherscomments PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_sourcecomments PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_typecomments PASSED [ 22%] 190s tests/translate/convert/test_po2tmx.py::TestPO2TMXCommand::test_help PASSED [ 22%] 190s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simpleunit PASSED [ 22%] 190s tests/translate/convert/test_po2ts.py::TestPO2TS::test_simple_unicode_unit PASSED [ 22%] 190s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fullunit PASSED [ 22%] 190s tests/translate/convert/test_po2ts.py::TestPO2TS::test_fuzzyunit PASSED [ 22%] 190s tests/translate/convert/test_po2ts.py::TestPO2TS::test_obsolete PASSED [ 22%] 190s tests/translate/convert/test_po2ts.py::TestPO2TS::test_duplicates PASSED [ 22%] 190s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak PASSED [ 22%] 190s tests/translate/convert/test_po2ts.py::TestPO2TS::test_linebreak_consecutive PASSED [ 22%] 190s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simpleunit PASSED [ 22%] 190s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_simple_unicode_unit PASSED [ 23%] 190s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fullunit PASSED [ 23%] 190s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_fuzzyunit PASSED [ 23%] 190s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_obsolete PASSED [ 23%] 190s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_duplicates PASSED [ 23%] 190s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak PASSED [ 23%] 190s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_linebreak_consecutive PASSED [ 23%] 190s tests/translate/convert/test_po2ts.py::TestPO2TSCommand::test_help PASSED [ 23%] 190s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_basic PASSED [ 23%] 190s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_nonascii PASSED [ 23%] 190s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_blank_handling PASSED [ 23%] 190s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_fuzzy_handling PASSED [ 23%] 190s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_obsolete_ignore PASSED [ 23%] 190s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_header_ignore PASSED [ 23%] 190s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_below_threshold PASSED [ 23%] 190s tests/translate/convert/test_po2txt.py::TestPO2Txt::test_convert_completion_above_threshold PASSED [ 23%] 190s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_basic PASSED [ 23%] 190s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_nonascii PASSED [ 23%] 190s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_blank_handling PASSED [ 23%] 190s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_fuzzy_handling PASSED [ 23%] 190s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_obsolete_ignore PASSED [ 23%] 190s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_header_ignore PASSED [ 23%] 190s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_below_threshold PASSED [ 23%] 190s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_convert_completion_above_threshold PASSED [ 23%] 190s tests/translate/convert/test_po2txt.py::TestPO2TxtCommand::test_help PASSED [ 23%] 190s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_basic PASSED [ 23%] 190s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_unicode PASSED [ 23%] 190s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_ordering_serialize PASSED [ 23%] 190s tests/translate/convert/test_po2web2py.py::TestPO2WEB2PY::test_markmin PASSED [ 23%] 190s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_minimal PASSED [ 23%] 190s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_basic PASSED [ 23%] 190s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_multiline PASSED [ 23%] 190s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapednewlines PASSED [ 23%] 190s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedtabs PASSED [ 24%] 190s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_escapedquotes PASSED [ 24%] 190s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_locationcomments PASSED [ 24%] 190s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_othercomments PASSED [ 24%] 190s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_automaticcomments PASSED [ 24%] 190s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_header PASSED [ 24%] 190s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_fuzzy PASSED [ 24%] 190s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_germanic_plurals PASSED [ 24%] 190s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_funny_plurals PASSED [ 24%] 190s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_language_tags PASSED [ 24%] 190s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_variables PASSED [ 24%] 190s tests/translate/convert/test_po2xliff.py::TestPO2XLIFF::test_approved PASSED [ 24%] 190s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_empty_PO PASSED [ 24%] 190s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_no_templates PASSED [ 24%] 190s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple_output PASSED [ 24%] 190s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_simple PASSED [ 24%] 190s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_translated PASSED [ 24%] 190s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_no_fuzzy PASSED [ 24%] 190s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_allow_fuzzy PASSED [ 24%] 190s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_nested PASSED [ 24%] 190s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_below_threshold PASSED [ 24%] 190s tests/translate/convert/test_po2yaml.py::TestPO2YAML::test_convert_completion_above_threshold PASSED [ 24%] 190s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_empty_PO PASSED [ 24%] 190s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_no_templates PASSED [ 24%] 190s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple_output PASSED [ 24%] 190s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_simple PASSED [ 24%] 190s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_translated PASSED [ 24%] 190s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_no_fuzzy PASSED [ 24%] 190s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_allow_fuzzy PASSED [ 24%] 190s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_nested PASSED [ 24%] 190s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_below_threshold PASSED [ 24%] 190s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_convert_completion_above_threshold PASSED [ 24%] 190s tests/translate/convert/test_po2yaml.py::TestPO2YAMLCommand::test_help PASSED [ 24%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank PASSED [ 24%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_convertpot_blank_plurals PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_simple PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_messages_marked_fuzzy PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals_with_fuzzy_matching PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change XFAIL [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_change PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_and_whitespace_change PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_location_ambiguous_with_disambiguous PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes XFAIL [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently XFAIL [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_dont_duplicate PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_automatic_comments_new_overides_old PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments_with_blank_comment_lines PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_commentlines PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgidcomments PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_with_msgidcomment PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_plurals PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_obsoleting_messages PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_not_obsoleting_empty_messages PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_new_before_obsolete PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_header_initialisation PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_comments PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_typecomments PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgctxt_multiline PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_location PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_msgid_merge_on_id PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_empty_msgid PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_migrate_msgidcomment_to_msgctxt PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_obsolete_msgctxt PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2PO::test_small_strings PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank PASSED [ 25%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_convertpot_blank_plurals PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_simple PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_messages_marked_fuzzy PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change XFAIL [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_change PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_and_whitespace_change PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_location_ambiguous_with_disambiguous PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes XFAIL [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently XFAIL [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_automatic_comments_new_overides_old PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments_with_blank_comment_lines PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_commentlines PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgidcomments PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_with_msgidcomment PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_plurals PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_obsoleting_messages PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_not_obsoleting_empty_messages PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_new_before_obsolete PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_resurect_obsolete_messages_into_msgidcomment PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_header_initialisation PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_comments PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_typecomments PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgctxt_multiline PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_location PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_msgid_merge_on_id PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_empty_msgid PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_migrate_msgidcomment_to_msgctxt PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_obsolete_msgctxt PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_small_strings PASSED [ 26%] 190s tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_help PASSED [ 26%] 190s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_no_endlines_added PASSED [ 27%] 190s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_uncomment_contributors PASSED [ 27%] 190s tests/translate/convert/test_prop2mozfunny.py::TestPO2Prop::test_multiline_comment_newlines PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2PO::test_simpleentry PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2PO::test_convertprop PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_value_entry PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2PO::test_no_separator_entry PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_end_of_string PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2PO::test_tab_at_start_of_value PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unicode PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_escaping PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2PO::test_comments PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2PO::test_multiline_comments PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2PO::test_folding_accesskeys PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2PO::test_dont_translate PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2PO::test_emptyproperty_translated PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2PO::test_newlines_in_value PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2PO::test_header_comments PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2PO::test_unassociated_comment_order PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2PO::test_x_header PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gaia_plurals PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2PO::test_successive_gaia_plurals PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2PO::test_duplicate_keys PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2PO::test_gwt_plurals PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_simpleentry PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_convertprop PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_value_entry PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_no_separator_entry PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_end_of_string PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_tab_at_start_of_value PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unicode PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_escaping PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_comments PASSED [ 27%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_multiline_comments PASSED [ 28%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_folding_accesskeys PASSED [ 28%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_dont_translate PASSED [ 28%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty PASSED [ 28%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_emptyproperty_translated PASSED [ 28%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_newlines_in_value PASSED [ 28%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_header_comments PASSED [ 28%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_unassociated_comment_order PASSED [ 28%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_x_header PASSED [ 28%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gaia_plurals PASSED [ 28%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_successive_gaia_plurals PASSED [ 28%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_duplicate_keys PASSED [ 28%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_gwt_plurals PASSED [ 28%] 190s tests/translate/convert/test_prop2po.py::TestProp2POCommand::test_help PASSED [ 28%] 190s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_help PASSED [ 28%] 190s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert PASSED [ 28%] 190s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 PASSED [ 28%] 190s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong PASSED [ 28%] 190s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 PASSED [ 28%] 190s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex PASSED [ 28%] 190s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_simple PASSED [ 28%] 190s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_multiple_units PASSED [ 28%] 190s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_automaticcomments PASSED [ 28%] 190s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_translatorcomments PASSED [ 28%] 190s tests/translate/convert/test_resx2po.py::TestRESX2PO::test_locations PASSED [ 28%] 190s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple PASSED [ 28%] 190s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_multiple_units PASSED [ 28%] 190s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_automaticcomments PASSED [ 28%] 190s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_translatorcomments PASSED [ 28%] 190s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_locations PASSED [ 28%] 190s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_help PASSED [ 28%] 190s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot PASSED [ 28%] 190s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po PASSED [ 28%] 190s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates PASSED [ 28%] 190s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_convert_empty PASSED [ 29%] 190s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_defaults PASSED [ 29%] 190s tests/translate/convert/test_tiki2po.py::TestTiki2Po::test_converttiki_includeunused PASSED [ 29%] 190s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_convert_empty PASSED [ 29%] 190s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_defaults PASSED [ 29%] 190s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_converttiki_includeunused PASSED [ 29%] 190s tests/translate/convert/test_tiki2po.py::TestTiki2PoCommand::test_help PASSED [ 29%] 190s tests/translate/convert/test_ts2po.py::TestTS2PO::test_blank PASSED [ 29%] 190s tests/translate/convert/test_ts2po.py::TestTS2PO::test_basic PASSED [ 29%] 190s tests/translate/convert/test_ts2po.py::TestTS2PO::test_unfinished PASSED [ 29%] 190s tests/translate/convert/test_ts2po.py::TestTS2PO::test_multiline PASSED [ 29%] 190s tests/translate/convert/test_ts2po.py::TestTS2PO::test_obsolete PASSED [ 29%] 190s tests/translate/convert/test_ts2po.py::TestTS2PO::test_comment PASSED [ 29%] 190s tests/translate/convert/test_ts2po.py::TestTS2PO::test_extracomment PASSED [ 29%] 190s tests/translate/convert/test_ts2po.py::TestTS2PO::test_emptycontext PASSED [ 29%] 190s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_blank PASSED [ 29%] 190s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_basic PASSED [ 29%] 190s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_unfinished PASSED [ 29%] 190s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_multiline PASSED [ 29%] 190s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_obsolete PASSED [ 29%] 190s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_comment PASSED [ 29%] 190s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_extracomment PASSED [ 29%] 190s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_emptycontext PASSED [ 29%] 190s tests/translate/convert/test_ts2po.py::TestTS2POCommand::test_help PASSED [ 29%] 190s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_convert_empty PASSED [ 29%] 190s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_keep_duplicates PASSED [ 29%] 190s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_drop_duplicates PASSED [ 29%] 190s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_simple PASSED [ 29%] 190s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_multiple_units PASSED [ 29%] 190s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_carriage_return PASSED [ 29%] 190s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_merge PASSED [ 29%] 190s tests/translate/convert/test_txt2po.py::TestTxt2PO::test_no_segmentation PASSED [ 29%] 190s tests/translate/convert/test_txt2po.py::TestDoku2po::test_convert_empty PASSED [ 29%] 190s tests/translate/convert/test_txt2po.py::TestDoku2po::test_keep_duplicates PASSED [ 30%] 190s tests/translate/convert/test_txt2po.py::TestDoku2po::test_drop_duplicates PASSED [ 30%] 190s tests/translate/convert/test_txt2po.py::TestDoku2po::test_basic PASSED [ 30%] 190s tests/translate/convert/test_txt2po.py::TestDoku2po::test_bullet_list PASSED [ 30%] 190s tests/translate/convert/test_txt2po.py::TestDoku2po::test_numbered_list PASSED [ 30%] 190s tests/translate/convert/test_txt2po.py::TestDoku2po::test_spacing PASSED [ 30%] 190s tests/translate/convert/test_txt2po.py::TestDoku2po::test_merge PASSED [ 30%] 190s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_convert_empty PASSED [ 30%] 190s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_keep_duplicates PASSED [ 30%] 190s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_drop_duplicates PASSED [ 30%] 190s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_simple PASSED [ 30%] 190s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_multiple_units PASSED [ 30%] 190s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_carriage_return PASSED [ 30%] 190s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_merge PASSED [ 30%] 190s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_no_segmentation PASSED [ 30%] 190s tests/translate/convert/test_txt2po.py::TestTxt2POCommand::test_help PASSED [ 30%] 190s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_basic PASSED [ 30%] 190s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_unicode PASSED [ 30%] 190s tests/translate/convert/test_web2py2po.py::TestWEB2PY2PO::test_markmin PASSED [ 30%] 190s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_help PASSED [ 30%] 190s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert PASSED [ 30%] 190s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_minimal PASSED [ 30%] 190s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_basic PASSED [ 30%] 190s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_translatorcomments PASSED [ 30%] 190s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_autocomment PASSED [ 30%] 190s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_locations PASSED [ 30%] 190s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_fuzzy PASSED [ 30%] 190s tests/translate/convert/test_xliff2po.py::TestXLIFF2PO::test_plurals PASSED [ 30%] 190s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_minimal PASSED [ 30%] 190s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_basic PASSED [ 30%] 190s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_translatorcomments PASSED [ 30%] 190s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_autocomment PASSED [ 30%] 190s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_locations PASSED [ 30%] 190s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_fuzzy PASSED [ 30%] 190s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_plurals PASSED [ 31%] 190s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_help PASSED [ 31%] 190s tests/translate/convert/test_xliff2po.py::TestBasicXLIFF2PO::test_simple_convert PASSED [ 31%] 190s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_minimal PASSED [ 31%] 190s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_basic PASSED [ 31%] 190s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_translatorcomments PASSED [ 31%] 190s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_autocomment PASSED [ 31%] 190s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_locations PASSED [ 31%] 190s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_fuzzy PASSED [ 31%] 190s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_plurals PASSED [ 31%] 190s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_help PASSED [ 31%] 190s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename PASSED [ 31%] 190s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot PASSED [ 31%] 190s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po PASSED [ 31%] 190s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates PASSED [ 31%] 190s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_empty_YAML PASSED [ 31%] 190s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple_output PASSED [ 31%] 190s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_simple PASSED [ 31%] 190s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_nested PASSED [ 31%] 190s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates XFAIL [ 31%] 190s tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_convert_with_template PASSED [ 31%] 190s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_empty_YAML PASSED [ 31%] 190s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple_output PASSED [ 31%] 190s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_simple PASSED [ 31%] 190s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_nested PASSED [ 31%] 190s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates XFAIL [ 31%] 190s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_convert_with_template PASSED [ 31%] 190s tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_help PASSED [ 31%] 190s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_empty_target PASSED [ 31%] 190s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_ellipsis PASSED [ 31%] 190s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_spacestart_spaceend PASSED [ 31%] 190s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_start_capitals PASSED [ 31%] 190s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_end_punc PASSED [ 31%] 190s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_correct_combinations PASSED [ 31%] 190s tests/translate/filters/test_autocorrect.py::TestAutocorrect::test_nothing_to_do PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_defaults PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_construct PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_accelerator_markers PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_messages PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_accelerators PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_acceleratedvariables XFAIL [ 32%] 190s tests/translate/filters/test_checks.py::test_acronyms PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_blank PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_brackets PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_compendiumconflicts PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_doublequoting PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_doublespacing PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_doublewords PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_endpunc PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_endwhitespace PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_escapes PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_newlines PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_tabs PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_filepaths PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_kdecomments PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_long PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_musttranslatewords XFAIL [ 32%] 190s tests/translate/filters/test_checks.py::test_notranslatewords PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_numbers PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_persian_numbers PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_bengali_numbers PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_arabic_numbers PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_assamese_numbers PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_options PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_printf PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_pythonbraceformat PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_puncspacing PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_purepunc PASSED [ 32%] 190s tests/translate/filters/test_checks.py::test_sentencecount PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_short PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_singlequoting PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_vietnamese_singlequoting PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time XFAIL [ 33%] 190s tests/translate/filters/test_checks.py::test_persian_quoting PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_simplecaps PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_spellcheck SKIPPED (Spe...) [ 33%] 190s tests/translate/filters/test_checks.py::test_startcaps PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_startpunc PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_startwhitespace PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_unchanged PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_untranslated PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_validchars PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_minimalchecker PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_reducedchecker PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_variables_kde PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_variables_gnome PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_variables_mozilla PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_variables_openoffice PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_variables_cclicense PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_variables_ios PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_xmltags PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags XFAIL [ 33%] 190s tests/translate/filters/test_checks.py::test_ooxmltags PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_functions PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_emails PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_urls PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_simpleplurals PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_nplurals PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_credits PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_gconf PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_validxml PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_hassuggestion PASSED [ 33%] 190s tests/translate/filters/test_checks.py::test_dialogsizes PASSED [ 34%] 191s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers PASSED [ 34%] 191s tests/translate/filters/test_checks.py::test_mozilla_no_accelerators_for_indic PASSED [ 34%] 191s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker PASSED [ 34%] 191s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source PASSED [ 34%] 191s tests/translate/filters/test_checks.py::test_ensure_bengali_languages_script_is_correct PASSED [ 34%] 191s tests/translate/filters/test_checks.py::test_category PASSED [ 34%] 191s tests/translate/filters/test_decoration.py::test_spacestart PASSED [ 34%] 191s tests/translate/filters/test_decoration.py::test_isvalidaccelerator PASSED [ 34%] 191s tests/translate/filters/test_decoration.py::test_find_marked_variables PASSED [ 34%] 191s tests/translate/filters/test_decoration.py::test_getnumbers PASSED [ 34%] 191s tests/translate/filters/test_decoration.py::test_getfunctions PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplepass PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestPOFilter::test_simplefail PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestPOFilter::test_variables_across_lines PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestPOFilter::test_ignore_if_already_marked PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestPOFilter::test_non_existant_check PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestPOFilter::test_list_all_tests PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_fuzzy PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestPOFilter::test_test_against_review PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isfuzzy PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestPOFilter::test_isreview PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestPOFilter::test_notes PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestPOFilter::test_unicode PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestPOFilter::test_preconditions PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestPOFilter::test_msgid_comments PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplepass PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_simplefail PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_variables_across_lines PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_ignore_if_already_marked PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_non_existant_check PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_list_all_tests PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_fuzzy PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_test_against_review PASSED [ 34%] 191s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isfuzzy PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_isreview PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_notes PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_unicode PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestXliffFilter::test_preconditions PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplepass PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_simplefail PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_variables_across_lines PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_ignore_if_already_marked PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_non_existant_check PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_list_all_tests PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_notes PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_unicode PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_preconditions PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_fuzzy PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_test_against_review PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isfuzzy PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestTMXFilter::test_isreview PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplepass PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_simplefail PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_variables_across_lines PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_ignore_if_already_marked PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_non_existant_check PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_list_all_tests PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_fuzzy PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_test_against_review PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isfuzzy PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_isreview PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_notes PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_unicode PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_preconditions PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_msgid_comments PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_cedillas PASSED [ 35%] 191s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_niciun PASSED [ 36%] 191s tests/translate/filters/test_pofilter.py::TestRomanianPOFilter::test_romanian_nicio PASSED [ 36%] 191s tests/translate/filters/test_prefilters.py::test_removekdecomments PASSED [ 36%] 191s tests/translate/filters/test_prefilters.py::test_filterwordswithpunctuation PASSED [ 36%] 191s tests/translate/lang/test_af.py::test_sentences PASSED [ 36%] 191s tests/translate/lang/test_af.py::test_capsstart PASSED [ 36%] 191s tests/translate/lang/test_af.py::test_transliterate_cyrillic PASSED [ 36%] 191s tests/translate/lang/test_am.py::test_punctranslate PASSED [ 36%] 191s tests/translate/lang/test_am.py::test_sentences PASSED [ 36%] 191s tests/translate/lang/test_ar.py::test_punctranslate PASSED [ 36%] 191s tests/translate/lang/test_ar.py::test_sentences PASSED [ 36%] 191s tests/translate/lang/test_common.py::test_characters PASSED [ 36%] 191s tests/translate/lang/test_common.py::test_words PASSED [ 36%] 191s tests/translate/lang/test_common.py::test_word_khmer XFAIL (ZWS is n...) [ 36%] 191s tests/translate/lang/test_common.py::test_sentences PASSED [ 36%] 191s tests/translate/lang/test_common.py::test_capsstart PASSED [ 36%] 191s tests/translate/lang/test_common.py::test_numstart PASSED [ 36%] 191s tests/translate/lang/test_common.py::test_punctranslate PASSED [ 36%] 191s tests/translate/lang/test_common.py::test_length_difference PASSED [ 36%] 191s tests/translate/lang/test_common.py::test_alter_length PASSED [ 36%] 191s tests/translate/lang/test_data.py::test_normalise_code PASSED [ 36%] 191s tests/translate/lang/test_data.py::test_simplify_to_common PASSED [ 36%] 191s tests/translate/lang/test_el.py::test_punctranslate PASSED [ 36%] 191s tests/translate/lang/test_el.py::test_sentences PASSED [ 36%] 191s tests/translate/lang/test_es.py::test_punctranslate PASSED [ 36%] 191s tests/translate/lang/test_es.py::test_sentences PASSED [ 36%] 191s tests/translate/lang/test_fa.py::test_punctranslate PASSED [ 36%] 191s tests/translate/lang/test_fa.py::test_sentences PASSED [ 36%] 191s tests/translate/lang/test_factory.py::test_getlanguage PASSED [ 36%] 191s tests/translate/lang/test_factory.py::test_get_all_languages PASSED [ 36%] 191s tests/translate/lang/test_fr.py::test_punctranslate PASSED [ 36%] 191s tests/translate/lang/test_fr.py::test_sentences PASSED [ 36%] 191s tests/translate/lang/test_hy.py::test_punctranslate PASSED [ 36%] 191s tests/translate/lang/test_hy.py::test_sentences PASSED [ 36%] 191s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_lang PASSED [ 37%] 191s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_identify_store PASSED [ 37%] 191s tests/translate/lang/test_identify.py::TestLanguageIdentifier::test_bad_init_data PASSED [ 37%] 191s tests/translate/lang/test_ja.py::test_punctranslate PASSED [ 37%] 191s tests/translate/lang/test_ja.py::test_sentences PASSED [ 37%] 191s tests/translate/lang/test_km.py::test_punctranslate PASSED [ 37%] 191s tests/translate/lang/test_km.py::test_sentences PASSED [ 37%] 191s tests/translate/lang/test_ko.py::test_punctranslate PASSED [ 37%] 191s tests/translate/lang/test_ko.py::test_sentences PASSED [ 37%] 191s tests/translate/lang/test_ne.py::test_punctranslate PASSED [ 37%] 191s tests/translate/lang/test_ne.py::test_sentences PASSED [ 37%] 191s tests/translate/lang/test_nqo.py::test_punctranslate PASSED [ 37%] 191s tests/translate/lang/test_nqo.py::test_sentences PASSED [ 37%] 191s tests/translate/lang/test_or.py::test_punctranslate PASSED [ 37%] 191s tests/translate/lang/test_or.py::test_country_code PASSED [ 37%] 191s tests/translate/lang/test_or.py::test_sentences PASSED [ 37%] 191s tests/translate/lang/test_poedit.py::test_isocode PASSED [ 37%] 191s tests/translate/lang/test_ro.py::test_cedillas PASSED [ 37%] 191s tests/translate/lang/test_ro.py::test_niciun PASSED [ 37%] 191s tests/translate/lang/test_scn.py::test_italianisms PASSED [ 37%] 191s tests/translate/lang/test_scn.py::test_vocalism PASSED [ 37%] 191s tests/translate/lang/test_scn.py::test_suffixes PASSED [ 37%] 191s tests/translate/lang/test_team.py::test_simple PASSED [ 37%] 191s tests/translate/lang/test_th.py::test_punctranslate PASSED [ 37%] 191s tests/translate/lang/test_th.py::test_sentences PASSED [ 37%] 191s tests/translate/lang/test_tr.py::test_sentences PASSED [ 37%] 191s tests/translate/lang/test_uk.py::test_sentences PASSED [ 37%] 191s tests/translate/lang/test_vi.py::test_punctranslate PASSED [ 37%] 191s tests/translate/lang/test_vi.py::test_sentences PASSED [ 37%] 191s tests/translate/lang/test_zh.py::test_punctranslate PASSED [ 37%] 191s tests/translate/lang/test_zh.py::test_sentences PASSED [ 37%] 191s tests/translate/misc/test_deprecation.py::TestDeprecation::test_deprecated_decorator PASSED [ 37%] 191s tests/translate/misc/test_deprecation.py::TestDeprecation::test_no_deprecated_decorator PASSED [ 37%] 191s tests/translate/misc/test_dictutils.py::test_cidict_has_key PASSED [ 37%] 191s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor PASSED [ 38%] 191s tests/translate/misc/test_multistring.py::TestMultistring::test_constructor_validation PASSED [ 38%] 191s tests/translate/misc/test_multistring.py::TestMultistring::test_repr PASSED [ 38%] 191s tests/translate/misc/test_multistring.py::TestMultistring::test_replace PASSED [ 38%] 191s tests/translate/misc/test_multistring.py::TestMultistring::test_comparison PASSED [ 38%] 191s tests/translate/misc/test_multistring.py::TestMultistring::test_coercion PASSED [ 38%] 191s tests/translate/misc/test_multistring.py::TestMultistring::test_unicode_coercion PASSED [ 38%] 191s tests/translate/misc/test_multistring.py::TestMultistring::test_list_coercion PASSED [ 38%] 191s tests/translate/misc/test_multistring.py::TestMultistring::test_multistring_hash PASSED [ 38%] 191s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_splitext PASSED [ 38%] 191s tests/translate/misc/test_optrecurse.py::TestRecursiveOptionParser::test_outputfile_receives_bytes PASSED [ 38%] 191s tests/translate/misc/test_progressbar.py::test_hashprogressbar PASSED [ 38%] 191s tests/translate/misc/test_quote.py::test_find_all PASSED [ 38%] 191s tests/translate/misc/test_quote.py::test_extract PASSED [ 38%] 191s tests/translate/misc/test_quote.py::test_extractwithoutquotes PASSED [ 38%] 191s tests/translate/misc/test_quote.py::test_extractwithoutquotes_passfunc PASSED [ 38%] 191s tests/translate/misc/test_quote.py::test_stripcomment PASSED [ 38%] 191s tests/translate/misc/test_quote.py::TestEncoding::test_javapropertiesencode PASSED [ 38%] 191s tests/translate/misc/test_quote.py::TestEncoding::test_java_utf8_properties_encode PASSED [ 38%] 191s tests/translate/misc/test_quote.py::TestEncoding::test_escapespace PASSED [ 38%] 191s tests/translate/misc/test_quote.py::TestEncoding::test_mozillaescapemarginspaces PASSED [ 38%] 191s tests/translate/misc/test_quote.py::TestEncoding::test_mozilla_control_escapes PASSED [ 38%] 191s tests/translate/misc/test_quote.py::TestEncoding::test_propertiesdecode PASSED [ 38%] 191s tests/translate/misc/test_quote.py::TestEncoding::test_controlchars PASSED [ 38%] 191s tests/translate/misc/test_quote.py::TestEncoding::test_properties_decode_slashu PASSED [ 38%] 191s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding PASSED [ 38%] 191s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_existing_entities PASSED [ 38%] 191s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_passthrough PASSED [ 38%] 191s tests/translate/misc/test_quote.py::TestEncoding::test_htmlencoding_nonentities PASSED [ 38%] 191s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_four_spaces PASSED [ 38%] 191s tests/translate/misc/test_xml_helpers.py::TestReindent::test_indent_tab PASSED [ 38%] 191s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_distance PASSED [ 38%] 191s tests/translate/search/test_lshtein.py::TestLevenshtein::test_basic_similarity PASSED [ 38%] 191s tests/translate/search/test_lshtein.py::TestLevenshtein::test_long_similarity PASSED [ 38%] 191s tests/translate/search/test_match.py::TestMatch::test_matching PASSED [ 39%] 191s tests/translate/search/test_match.py::TestMatch::test_multiple_store PASSED [ 39%] 191s tests/translate/search/test_match.py::TestMatch::test_extendtm PASSED [ 39%] 191s tests/translate/search/test_match.py::TestMatch::test_terminology PASSED [ 39%] 191s tests/translate/search/test_match.py::TestMatch::test_brackets PASSED [ 39%] 191s tests/translate/search/test_match.py::TestMatch::test_past_tences PASSED [ 39%] 191s tests/translate/search/test_match.py::TestMatch::test_space_mismatch PASSED [ 39%] 191s tests/translate/search/test_match.py::TestMatch::test_hyphen_mismatch PASSED [ 39%] 191s tests/translate/search/test_terminology.py::TestTerminology::test_basic PASSED [ 39%] 191s tests/translate/services/test_tmserver.py::TestTMServer::test_import PASSED [ 39%] 191s tests/translate/services/test_tmserver.py::TestTMServer::test_server PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestStringElem::test_parse PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestStringElem::test_tree PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestStringElem::test_add PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestStringElem::test_contains PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getitem PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestStringElem::test_getslice PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestStringElem::test_iter PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestStringElem::test_len PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestStringElem::test_mul PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_offset PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestStringElem::test_elem_at_offset PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestStringElem::test_find_elems_with PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestStringElem::test_flatten PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case1 PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case2 PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case3 PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestStringElem::test_delete_range_case4 PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestStringElem::test_insert PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestStringElem::test_isleaf PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestStringElem::test_prune PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_base_placeables PASSED [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables XFAIL [ 39%] 191s tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables XFAIL [ 40%] 191s tests/translate/storage/placeables/test_general.py::test_placeable_numbers PASSED [ 40%] 191s tests/translate/storage/placeables/test_general.py::test_placeable_newline PASSED [ 40%] 191s tests/translate/storage/placeables/test_general.py::test_placeable_alt_attr PASSED [ 40%] 191s tests/translate/storage/placeables/test_general.py::test_placeable_qt_formatting PASSED [ 40%] 191s tests/translate/storage/placeables/test_general.py::test_placeable_camelcase PASSED [ 40%] 191s tests/translate/storage/placeables/test_general.py::test_placeable_space PASSED [ 40%] 191s tests/translate/storage/placeables/test_general.py::test_placeable_punctuation PASSED [ 40%] 191s tests/translate/storage/placeables/test_general.py::test_placeable_xml_entity PASSED [ 40%] 191s tests/translate/storage/placeables/test_general.py::test_placeable_xml_tag PASSED [ 40%] 191s tests/translate/storage/placeables/test_general.py::test_placeable_option PASSED [ 40%] 191s tests/translate/storage/placeables/test_general.py::test_placeable_file PASSED [ 40%] 191s tests/translate/storage/placeables/test_general.py::test_placeable_email PASSED [ 40%] 191s tests/translate/storage/placeables/test_general.py::test_placeable_caps PASSED [ 40%] 191s tests/translate/storage/placeables/test_general.py::test_placeable_formatting PASSED [ 40%] 191s tests/translate/storage/placeables/test_general.py::test_placeable_doubleat PASSED [ 40%] 191s tests/translate/storage/placeables/test_general.py::test_placeable_brace PASSED [ 40%] 191s tests/translate/storage/placeables/test_general.py::test_python_placeable PASSED [ 40%] 191s tests/translate/storage/placeables/test_lisa.py::test_xml_to_strelem PASSED [ 40%] 191s tests/translate/storage/placeables/test_lisa.py::test_xml_space PASSED [ 40%] 191s tests/translate/storage/placeables/test_lisa.py::test_chunk_list PASSED [ 40%] 191s tests/translate/storage/placeables/test_lisa.py::test_set_strelem_to_xml PASSED [ 40%] 191s tests/translate/storage/placeables/test_lisa.py::test_unknown_xml_placeable PASSED [ 40%] 191s tests/translate/storage/placeables/test_terminology.py::TestTerminologyPlaceable::test_simple_terminology PASSED [ 40%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_isfuzzy PASSED [ 40%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_create PASSED [ 40%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_eq PASSED [ 40%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escapes PASSED [ 40%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_difficult_escapes PASSED [ 40%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_note_sanity PASSED [ 40%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_target PASSED [ 40%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_get PASSED [ 40%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_rich_set PASSED [ 40%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline PASSED [ 40%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quotes_with_newline PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_message_with_newline_in_xml PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_twitter PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quote PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_question PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_double_space PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_leading_space PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_tailing_space PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_xml_entities PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_code_quote_newline PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_arrows PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_link_and_text PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_blank_string PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_escape_message_with_newline PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_invalid_lang PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_quote PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_leading_space PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_trailing_space PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_with_ampersand PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_double_space PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_html_deep_double_space PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_complex_xml PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_escape_quoted_newlines PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_message_with_newline_in_xml PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_twitter PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_question PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quote PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_space PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_space PASSED [ 41%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_newlines PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_xml_entities PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_code PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_arrows PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_link_and_text PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_space PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_spaces PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_escaped_newline PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_escaped_newline PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_leading_spaces PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_trailing_newline PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_many_quotes PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_blank_string_again PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_double_quotes_string PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_newline_in_string PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_not_translatable_string PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_newline PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_plural_parse_message_with_comments PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_quote PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_leading_space_quoted PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_trailing_space_quoted PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_with_ampersand PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_double_space_quoted PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_html_deep_double_space_quoted PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_complex_xml PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unicode PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_unescaped PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_alone PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_single_escaped_full PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_escaped_percent PASSED [ 42%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_percent PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_quoted_quote PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_unparied_quote PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_slash PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escape_ignored PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceUnit::test_parse_escaped_quote_end PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_create_blank PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_remove PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_find PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_parse PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_files PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_save PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_extensions PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_mimetypes PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translate PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_nonascii PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_default_handlings PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_targetlanguage_auto_detection_invalid_filename PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_namespaces PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_serialize PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_add_formatting PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_invalid_entity PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_indent PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_markup PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_edit PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_entity_add_noedit PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_remove PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_set PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_others PASSED [ 43%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_markup_quotes_set PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_g PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_xliff_namespace PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_zh_hk PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_edit_plural_b_zh_hk PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_missing_plural PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_removeunit PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_cdata_text PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_prefix PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_rtl PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_tail PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_translatable_marking PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestAndroidResourceFile::test_escaping PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_isfuzzy PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_create PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_eq PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_escapes PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_difficult_escapes PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_note_sanity PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_target PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_get PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestMOKOResourceUnit::test_rich_set PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_create_blank PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_add PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_remove PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_find PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_parse PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_files PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_save PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_extensions PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_mimetypes PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_translate PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_markup PASSED [ 44%] 191s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_nonascii PASSED [ 45%] 191s tests/translate/storage/test_aresource.py::TestMOKOResourceFile::test_plural PASSED [ 45%] 191s tests/translate/storage/test_base.py::TestTranslationUnit::test_isfuzzy PASSED [ 45%] 191s tests/translate/storage/test_base.py::TestTranslationUnit::test_create PASSED [ 45%] 191s tests/translate/storage/test_base.py::TestTranslationUnit::test_eq PASSED [ 45%] 191s tests/translate/storage/test_base.py::TestTranslationUnit::test_target PASSED [ 45%] 191s tests/translate/storage/test_base.py::TestTranslationUnit::test_escapes PASSED [ 45%] 191s tests/translate/storage/test_base.py::TestTranslationUnit::test_difficult_escapes PASSED [ 45%] 191s tests/translate/storage/test_base.py::TestTranslationUnit::test_note_sanity PASSED [ 45%] 191s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_get PASSED [ 45%] 191s tests/translate/storage/test_base.py::TestTranslationUnit::test_rich_set PASSED [ 45%] 191s tests/translate/storage/test_base.py::TestTranslationStore::test_create_blank PASSED [ 45%] 191s tests/translate/storage/test_base.py::TestTranslationStore::test_add PASSED [ 45%] 191s tests/translate/storage/test_base.py::TestTranslationStore::test_remove PASSED [ 45%] 191s tests/translate/storage/test_base.py::TestTranslationStore::test_find PASSED [ 45%] 191s tests/translate/storage/test_base.py::TestTranslationStore::test_translate PASSED [ 45%] 191s tests/translate/storage/test_base.py::TestTranslationStore::test_parse PASSED [ 45%] 191s tests/translate/storage/test_base.py::TestTranslationStore::test_files PASSED [ 45%] 191s tests/translate/storage/test_base.py::TestTranslationStore::test_save PASSED [ 45%] 191s tests/translate/storage/test_base.py::TestTranslationStore::test_markup PASSED [ 45%] 191s tests/translate/storage/test_base.py::TestTranslationStore::test_nonascii PASSED [ 45%] 191s tests/translate/storage/test_base.py::TestTranslationStore::test_extensions PASSED [ 45%] 191s tests/translate/storage/test_base.py::TestTranslationStore::test_mimetypes PASSED [ 45%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_isfuzzy PASSED [ 45%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_create PASSED [ 45%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_eq PASSED [ 45%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_target PASSED [ 45%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_escapes PASSED [ 45%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_get PASSED [ 45%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_rich_set PASSED [ 45%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_difficult_escapes PASSED [ 45%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_newlines PASSED [ 45%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_istranslated PASSED [ 45%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysUnit::test_note_sanity PASSED [ 45%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_create_blank PASSED [ 46%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_add PASSED [ 46%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_remove PASSED [ 46%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_find PASSED [ 46%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_translate PASSED [ 46%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_parse PASSED [ 46%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_files PASSED [ 46%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_save PASSED [ 46%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_markup PASSED [ 46%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_nonascii PASSED [ 46%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_extensions PASSED [ 46%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_mimetypes PASSED [ 46%] 191s tests/translate/storage/test_catkeys.py::TestCatkeysFile::test_checksum PASSED [ 46%] 191s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_isfuzzy PASSED [ 46%] 191s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_create PASSED [ 46%] 191s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_eq PASSED [ 46%] 191s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_target PASSED [ 46%] 191s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_escapes PASSED [ 46%] 191s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_difficult_escapes PASSED [ 46%] 191s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_note_sanity PASSED [ 46%] 191s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_get PASSED [ 46%] 191s tests/translate/storage/test_csvl10n.py::TestCSVUnit::test_rich_set PASSED [ 46%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_create_blank PASSED [ 46%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_add PASSED [ 46%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_remove PASSED [ 46%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_find PASSED [ 46%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_translate PASSED [ 46%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse PASSED [ 46%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_files PASSED [ 46%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_save PASSED [ 46%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_markup PASSED [ 46%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_nonascii PASSED [ 46%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_extensions PASSED [ 46%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_mimetypes PASSED [ 46%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_singlequoting PASSED [ 47%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8 PASSED [ 47%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_dialect PASSED [ 47%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_sig PASSED [ 47%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_default PASSED [ 47%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_location_is_parsed PASSED [ 47%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_context_is_parsed PASSED [ 47%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_newline PASSED [ 47%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_parse_sample PASSED [ 47%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_utf_8_detection PASSED [ 47%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding PASSED [ 47%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_corrupt PASSED [ 47%] 191s tests/translate/storage/test_csvl10n.py::TestCSV::test_encoding_save PASSED [ 47%] 191s tests/translate/storage/test_directory.py::TestDirectory::test_created PASSED [ 47%] 192s tests/translate/storage/test_directory.py::TestDirectory::test_basic PASSED [ 47%] 192s tests/translate/storage/test_directory.py::TestDirectory::test_structure PASSED [ 47%] 192s tests/translate/storage/test_directory.py::TestDirectory::test_getunits PASSED [ 47%] 192s tests/translate/storage/test_dtd.py::test_roundtrip_quoting PASSED [ 47%] 192s tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases XFAIL [ 47%] 192s tests/translate/storage/test_dtd.py::test_quotefordtd PASSED [ 47%] 192s tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases XFAIL [ 47%] 192s tests/translate/storage/test_dtd.py::test_unquotefromdtd PASSED [ 47%] 192s tests/translate/storage/test_dtd.py::test_android_roundtrip_quoting PASSED [ 47%] 192s tests/translate/storage/test_dtd.py::test_quoteforandroid PASSED [ 47%] 192s tests/translate/storage/test_dtd.py::test_unquotefromandroid PASSED [ 47%] 192s tests/translate/storage/test_dtd.py::test_removeinvalidamp PASSED [ 47%] 192s tests/translate/storage/test_dtd.py::TestDTDUnit::test_isfuzzy PASSED [ 47%] 192s tests/translate/storage/test_dtd.py::TestDTDUnit::test_create PASSED [ 47%] 192s tests/translate/storage/test_dtd.py::TestDTDUnit::test_eq PASSED [ 47%] 192s tests/translate/storage/test_dtd.py::TestDTDUnit::test_escapes PASSED [ 47%] 192s tests/translate/storage/test_dtd.py::TestDTDUnit::test_difficult_escapes PASSED [ 47%] 192s tests/translate/storage/test_dtd.py::TestDTDUnit::test_note_sanity PASSED [ 47%] 192s tests/translate/storage/test_dtd.py::TestDTDUnit::test_target PASSED [ 47%] 192s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_get PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTDUnit::test_rich_set PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_create_blank PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_add PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_remove PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_find PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_parse PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_files PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_save PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_extensions PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_mimetypes PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_translate PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_markup PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_nonascii PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_blanklines PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_simpleentity_source PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_hashcomment_source PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_commentclosing PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_commententity PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_newlines_in_entity PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_conflate_comments PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_localisation_notes PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_in_source PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_entitityreference_order_in_source PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_comment_following XFAIL [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_comment_newline_space_closing PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting XFAIL [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_missing_quotes PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestDTD::test_entity_escaping_roundtrip PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_create_blank PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_add PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_remove PASSED [ 48%] 192s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_find PASSED [ 49%] 192s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_parse PASSED [ 49%] 192s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_files PASSED [ 49%] 192s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_save PASSED [ 49%] 192s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_extensions PASSED [ 49%] 192s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_mimetypes PASSED [ 49%] 192s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_translate PASSED [ 49%] 192s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_markup PASSED [ 49%] 192s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_nonascii PASSED [ 49%] 192s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape PASSED [ 49%] 192s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_single_quote_escape_parse_and_convert_back PASSED [ 49%] 192s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape PASSED [ 49%] 192s tests/translate/storage/test_dtd.py::TestAndroidDTD::test_android_double_quote_escape_parse_and_convert_back PASSED [ 49%] 192s tests/translate/storage/test_factory.py::TestPOFactory::test_getclass PASSED [ 49%] 192s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject_store PASSED [ 49%] 192s tests/translate/storage/test_factory.py::TestPOFactory::test_getobject PASSED [ 49%] 192s tests/translate/storage/test_factory.py::TestPOFactory::test_get_noname_object PASSED [ 49%] 192s tests/translate/storage/test_factory.py::TestPOFactory::test_gzfile PASSED [ 49%] 192s tests/translate/storage/test_factory.py::TestPOFactory::test_bz2file PASSED [ 49%] 192s tests/translate/storage/test_factory.py::TestPOFactory::test_directory PASSED [ 49%] 192s tests/translate/storage/test_factory.py::TestXliffFactory::test_getclass PASSED [ 49%] 192s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject_store PASSED [ 49%] 192s tests/translate/storage/test_factory.py::TestXliffFactory::test_getobject PASSED [ 49%] 192s tests/translate/storage/test_factory.py::TestXliffFactory::test_get_noname_object PASSED [ 49%] 192s tests/translate/storage/test_factory.py::TestXliffFactory::test_gzfile PASSED [ 49%] 192s tests/translate/storage/test_factory.py::TestXliffFactory::test_bz2file PASSED [ 49%] 192s tests/translate/storage/test_factory.py::TestXliffFactory::test_directory PASSED [ 49%] 192s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getclass PASSED [ 49%] 192s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject_store PASSED [ 49%] 192s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_getobject PASSED [ 49%] 192s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_get_noname_object PASSED [ 49%] 192s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_gzfile PASSED [ 49%] 192s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_bz2file PASSED [ 49%] 192s tests/translate/storage/test_factory.py::TestPOXliffFactory::test_directory PASSED [ 49%] 192s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getclass PASSED [ 50%] 192s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject_store PASSED [ 50%] 192s tests/translate/storage/test_factory.py::TestWordfastFactory::test_getobject PASSED [ 50%] 192s tests/translate/storage/test_factory.py::TestWordfastFactory::test_get_noname_object PASSED [ 50%] 192s tests/translate/storage/test_factory.py::TestWordfastFactory::test_gzfile PASSED [ 50%] 192s tests/translate/storage/test_factory.py::TestWordfastFactory::test_bz2file PASSED [ 50%] 192s tests/translate/storage/test_factory.py::TestWordfastFactory::test_directory PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_isfuzzy PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_create PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_eq PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_escapes PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_difficult_escapes PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_note_sanity PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_target PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_get PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLUnit::test_rich_set PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_create_blank PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_add PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_remove PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_find PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_parse PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_files PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_save PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_extensions PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_mimetypes PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_translate PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_markup PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_nonascii PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_root_config_detect PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_detect PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_key_config_detect PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_value_config_mixed_ok PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_namespace_config_detect PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_four_spaces PASSED [ 50%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_tab PASSED [ 51%] 192s tests/translate/storage/test_flatxml.py::TestFlatXMLFile::test_indent_none_linearizes PASSED [ 51%] 192s tests/translate/storage/test_html.py::test_guess_encoding PASSED [ 51%] 192s tests/translate/storage/test_html.py::TestHTMLParsing::test_mismatched_tags PASSED [ 51%] 192s tests/translate/storage/test_html.py::TestHTMLParsing::test_self_closing_tags PASSED [ 51%] 192s tests/translate/storage/test_html.py::TestHTMLParsing::test_escaping_script_and_pre PASSED [ 51%] 192s tests/translate/storage/test_html.py::TestHTMLExtraction::test_strip_html PASSED [ 51%] 192s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_figcaption PASSED [ 51%] 192s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_tag_caption_td_th PASSED [ 51%] 192s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_alt PASSED [ 51%] 192s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_attr_title PASSED [ 51%] 192s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre PASSED [ 51%] 192s tests/translate/storage/test_html.py::TestHTMLExtraction::test_extraction_pre_code PASSED [ 51%] 192s tests/translate/storage/test_ini.py::TestINIUnit::test_isfuzzy PASSED [ 51%] 192s tests/translate/storage/test_ini.py::TestINIUnit::test_create PASSED [ 51%] 192s tests/translate/storage/test_ini.py::TestINIUnit::test_eq PASSED [ 51%] 192s tests/translate/storage/test_ini.py::TestINIUnit::test_escapes PASSED [ 51%] 192s tests/translate/storage/test_ini.py::TestINIUnit::test_difficult_escapes PASSED [ 51%] 192s tests/translate/storage/test_ini.py::TestINIUnit::test_note_sanity PASSED [ 51%] 192s tests/translate/storage/test_ini.py::TestINIUnit::test_target PASSED [ 51%] 192s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_get PASSED [ 51%] 192s tests/translate/storage/test_ini.py::TestINIUnit::test_rich_set PASSED [ 51%] 192s tests/translate/storage/test_ini.py::TestINIStore::test_create_blank PASSED [ 51%] 192s tests/translate/storage/test_ini.py::TestINIStore::test_add PASSED [ 51%] 192s tests/translate/storage/test_ini.py::TestINIStore::test_remove PASSED [ 51%] 192s tests/translate/storage/test_ini.py::TestINIStore::test_find PASSED [ 51%] 192s tests/translate/storage/test_ini.py::TestINIStore::test_parse PASSED [ 51%] 192s tests/translate/storage/test_ini.py::TestINIStore::test_files PASSED [ 51%] 192s tests/translate/storage/test_ini.py::TestINIStore::test_save PASSED [ 51%] 192s tests/translate/storage/test_ini.py::TestINIStore::test_extensions PASSED [ 51%] 192s tests/translate/storage/test_ini.py::TestINIStore::test_mimetypes PASSED [ 51%] 192s tests/translate/storage/test_ini.py::TestINIStore::test_translate PASSED [ 51%] 192s tests/translate/storage/test_ini.py::TestINIStore::test_markup PASSED [ 51%] 192s tests/translate/storage/test_ini.py::TestINIStore::test_nonascii PASSED [ 51%] 192s tests/translate/storage/test_ini.py::TestINIStore::test_serialize PASSED [ 52%] 192s tests/translate/storage/test_ini.py::TestINIStore::test_rem PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_isfuzzy PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_create PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_eq PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_escapes PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_difficult_escapes PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_note_sanity PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_target PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_get PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceUnit::test_rich_set PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_create_blank PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_remove PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_find PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_parse PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_files PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_save PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_extensions PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_mimetypes PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_translate PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_markup PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_nonascii PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_serialize PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_can_not_detect PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_error PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_filter PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_ordering PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_args PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_bom PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_complex_array PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_list_like PASSED [ 52%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_add_blank PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_types PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONResourceStore::test_null PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_isfuzzy PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_create PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_eq PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_escapes PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_difficult_escapes PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_note_sanity PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_target PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_get PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_rich_set PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_serialize PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_ordering PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_array PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_index_nested PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_nested_list_mixed PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_list_to_dict PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_complex_keys PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_add_other PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0]-expected0] PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0]-expected1] PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[test[0][1][2][3]-expected2] PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test]selection-expected3] PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[test][0]selection-expected4] PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[[0][test]selection-expected5] PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_from_string[-expected6] PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestJSONNestedResourceStore::test_dot_keys PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_isfuzzy PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_create PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_eq PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_escapes PASSED [ 53%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_difficult_escapes PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_note_sanity PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_target PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_get PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionUnit::test_rich_set PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_create_blank PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_add PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_remove PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_find PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_parse PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_files PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_save PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_extensions PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_mimetypes PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_translate PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_markup PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_nonascii PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_dot_keys PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_leading_dot_keys PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_serialize_no_description PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_set_target PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_placeholders PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestWebExtensionStore::test_comments PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_create_blank PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_add PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_remove PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_find PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_parse PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_files PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_save PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_extensions PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_mimetypes PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_translate PASSED [ 54%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_markup PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nonascii PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_serialize PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_units PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_plurals PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_nested_array PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextStore::test_new_plural_id PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_create_blank PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_add PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_remove PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_find PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_parse PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_files PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_save PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_extensions PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_mimetypes PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_translate PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_markup PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_nonascii PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_plurals_missing PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_case_no_msg PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestGoTextJsonFile::test_complex_id PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_create_blank PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_add PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_remove PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_find PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_parse PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_files PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_save PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_extensions PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_mimetypes PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_translate PASSED [ 55%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_markup PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nonascii PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_serialize PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_units PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_plurals PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_nested_array PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_new_plural PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestI18NextV4Store::test_ru PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_create_blank PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_add PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_remove PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_find PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_parse PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_files PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_save PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_extensions PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_mimetypes PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_translate PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_markup PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nonascii PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_serialize PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_units PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_plurals PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_nested_array PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_new_plural PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestFlatI18NextV4Store::test_ru PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_create_blank PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_add PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_remove PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_find PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_parse PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_files PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_save PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_extensions PASSED [ 56%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_mimetypes PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_translate PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_markup PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_nonascii PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_plurals_missing PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_invalid PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NJsonFile::test_dot_keys PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_create_blank PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_add PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_remove PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_find PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_parse PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_files PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_save PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_extensions PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_mimetypes PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_translate PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_markup PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_nonascii PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_1 PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_2 PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_blank PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_plurals_missing PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_simplification PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_invalid PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestGoI18NV2JsonFile::test_dot_keys PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_create_blank PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_add PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_remove PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_find PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_parse PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_files PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_save PASSED [ 57%] 192s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_extensions PASSED [ 58%] 192s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_mimetypes PASSED [ 58%] 192s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_translate PASSED [ 58%] 192s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_markup PASSED [ 58%] 192s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_nonascii PASSED [ 58%] 192s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_roundtrip PASSED [ 58%] 192s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_leading_dot_keys PASSED [ 58%] 192s tests/translate/storage/test_jsonl10n.py::TestARBJsonFile::test_invalid_nesting PASSED [ 58%] 192s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_create_blank PASSED [ 58%] 192s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_add PASSED [ 58%] 192s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_remove PASSED [ 58%] 192s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_find PASSED [ 58%] 192s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_parse PASSED [ 58%] 192s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_files PASSED [ 58%] 192s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_save PASSED [ 58%] 192s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_extensions PASSED [ 58%] 192s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_mimetypes PASSED [ 58%] 192s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_translate PASSED [ 58%] 192s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_markup PASSED [ 58%] 192s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_nonascii PASSED [ 58%] 192s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_roundtrip PASSED [ 58%] 192s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_leading_dot_keys PASSED [ 58%] 192s tests/translate/storage/test_jsonl10n.py::TestFormatJSJsonFile::test_invalid PASSED [ 58%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_atx_heading PASSED [ 58%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_autolink PASSED [ 58%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_block_quote PASSED [ 58%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_block PASSED [ 58%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_code_span PASSED [ 58%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_atx_heading PASSED [ 58%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_document PASSED [ 58%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_empty_list_item PASSED [ 58%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_escaped_character PASSED [ 58%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_hard_line_break PASSED [ 58%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_block PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_character_entities PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_html_span PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_image_embedded_in_link PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_collapsed_reference_link PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_full_reference_link PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_link_reference_definition_and_shortcut_reference_link PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_merging_of_adjacent_placeholders PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_block_tokens PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_nested_list PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_basic_markup PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_paragraph_with_only_whitespace_and_placeholders PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_placeholder_trimming PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_image_no_title PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_link PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_plain_text_paragraph PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_remove_placeholders_from_both_ends_of_translation_units PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_setext_heading PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_table_with_header PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownTranslationUnitExtractionAndTranslation::test_thematic_break PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_hard_line_break_in_translation_unit PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_missing_placeholder PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_duplicate_placeholder PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_extraneous_placeholder PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_reordered_placeholders PASSED [ 59%] 192s tests/translate/storage/test_markdown.py::TestMarkdownRendering::test_invalid_markdown_in_translation PASSED [ 59%] 192s tests/translate/storage/test_mo.py::TestMOUnit::test_isfuzzy PASSED [ 59%] 192s tests/translate/storage/test_mo.py::TestMOUnit::test_create PASSED [ 59%] 192s tests/translate/storage/test_mo.py::TestMOUnit::test_eq PASSED [ 59%] 192s tests/translate/storage/test_mo.py::TestMOUnit::test_target PASSED [ 59%] 192s tests/translate/storage/test_mo.py::TestMOUnit::test_escapes PASSED [ 59%] 192s tests/translate/storage/test_mo.py::TestMOUnit::test_difficult_escapes PASSED [ 59%] 192s tests/translate/storage/test_mo.py::TestMOUnit::test_note_sanity PASSED [ 59%] 192s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_get PASSED [ 60%] 192s tests/translate/storage/test_mo.py::TestMOUnit::test_rich_set PASSED [ 60%] 192s tests/translate/storage/test_mo.py::TestMOUnit::test_context PASSED [ 60%] 192s tests/translate/storage/test_mo.py::TestMOFile::test_create_blank PASSED [ 60%] 192s tests/translate/storage/test_mo.py::TestMOFile::test_add PASSED [ 60%] 192s tests/translate/storage/test_mo.py::TestMOFile::test_remove PASSED [ 60%] 192s tests/translate/storage/test_mo.py::TestMOFile::test_find PASSED [ 60%] 192s tests/translate/storage/test_mo.py::TestMOFile::test_translate PASSED [ 60%] 192s tests/translate/storage/test_mo.py::TestMOFile::test_parse PASSED [ 60%] 192s tests/translate/storage/test_mo.py::TestMOFile::test_files PASSED [ 60%] 192s tests/translate/storage/test_mo.py::TestMOFile::test_save PASSED [ 60%] 192s tests/translate/storage/test_mo.py::TestMOFile::test_markup PASSED [ 60%] 192s tests/translate/storage/test_mo.py::TestMOFile::test_nonascii PASSED [ 60%] 192s tests/translate/storage/test_mo.py::TestMOFile::test_extensions PASSED [ 60%] 192s tests/translate/storage/test_mo.py::TestMOFile::test_mimetypes PASSED [ 60%] 192s tests/translate/storage/test_mo.py::TestMOFile::test_language PASSED [ 60%] 192s tests/translate/storage/test_mo.py::TestMOFile::test_context PASSED [ 60%] 192s tests/translate/storage/test_mo.py::TestMOFile::test_output PASSED [ 60%] 192s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_isfuzzy PASSED [ 60%] 192s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_create PASSED [ 60%] 192s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_eq PASSED [ 60%] 192s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_escapes PASSED [ 60%] 192s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_difficult_escapes PASSED [ 60%] 192s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_note_sanity PASSED [ 60%] 192s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_target PASSED [ 60%] 192s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_get PASSED [ 60%] 192s tests/translate/storage/test_monolingual.py::TestMonolingualUnit::test_rich_set PASSED [ 60%] 192s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_create_blank PASSED [ 60%] 192s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_add PASSED [ 60%] 192s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_remove PASSED [ 60%] 192s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_find PASSED [ 60%] 192s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_parse PASSED [ 60%] 192s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_files PASSED [ 60%] 192s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_save PASSED [ 60%] 192s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_extensions PASSED [ 61%] 192s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_mimetypes PASSED [ 61%] 192s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_translate PASSED [ 61%] 192s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_markup PASSED [ 61%] 192s tests/translate/storage/test_monolingual.py::TestMonolingualStore::test_nonascii PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[-] PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String-String] PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {OK}-String] PASSED [ 61%] 192s 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%] 192s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{ok}-String] PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String{OK}-String] PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok}-String] PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::test_strip_ok[String {ok} -String] PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_isfuzzy PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_create PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_eq PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_target PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_escapes PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_difficult_escapes PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_note_sanity PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_get PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_rich_set PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_translate_but_same PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_untranslated PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_comments PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangUnit::test_copy_target PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_create_blank PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_add PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_remove PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_find PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_translate PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_parse PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_files PASSED [ 61%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_save PASSED [ 62%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_markup PASSED [ 62%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_extensions PASSED [ 62%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_mimetypes PASSED [ 62%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_nonascii PASSED [ 62%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_format_layout PASSED [ 62%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_crlf PASSED [ 62%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_active_flag PASSED [ 62%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_multiline_comments PASSED [ 62%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_template PASSED [ 62%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[--False] PASSED [ 62%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ -Source -True] PASSED [ 62%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok}-Source-True] PASSED [ 62%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[ {ok} -Source-True] PASSED [ 62%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_ok_translations[{ok}-Source-True] PASSED [ 62%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_headers PASSED [ 62%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_not_headers PASSED [ 62%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[0] PASSED [ 62%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[1] PASSED [ 62%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[2] PASSED [ 62%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_header_blanklines[3] PASSED [ 62%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_tag_comments PASSED [ 62%] 192s tests/translate/storage/test_mozilla_lang.py::TestMozLangFile::test_maxlength PASSED [ 62%] 192s tests/translate/storage/test_omegat.py::TestOtUnit::test_isfuzzy PASSED [ 62%] 192s tests/translate/storage/test_omegat.py::TestOtUnit::test_create PASSED [ 62%] 192s tests/translate/storage/test_omegat.py::TestOtUnit::test_eq PASSED [ 62%] 192s tests/translate/storage/test_omegat.py::TestOtUnit::test_target PASSED [ 62%] 192s tests/translate/storage/test_omegat.py::TestOtUnit::test_escapes PASSED [ 62%] 192s tests/translate/storage/test_omegat.py::TestOtUnit::test_difficult_escapes PASSED [ 62%] 192s tests/translate/storage/test_omegat.py::TestOtUnit::test_note_sanity PASSED [ 62%] 192s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_get PASSED [ 62%] 192s tests/translate/storage/test_omegat.py::TestOtUnit::test_rich_set PASSED [ 62%] 192s tests/translate/storage/test_omegat.py::TestOtFile::test_create_blank PASSED [ 62%] 192s tests/translate/storage/test_omegat.py::TestOtFile::test_add PASSED [ 62%] 192s tests/translate/storage/test_omegat.py::TestOtFile::test_remove PASSED [ 63%] 192s tests/translate/storage/test_omegat.py::TestOtFile::test_find PASSED [ 63%] 192s tests/translate/storage/test_omegat.py::TestOtFile::test_translate PASSED [ 63%] 192s tests/translate/storage/test_omegat.py::TestOtFile::test_parse PASSED [ 63%] 192s tests/translate/storage/test_omegat.py::TestOtFile::test_files PASSED [ 63%] 192s tests/translate/storage/test_omegat.py::TestOtFile::test_save PASSED [ 63%] 192s tests/translate/storage/test_omegat.py::TestOtFile::test_markup PASSED [ 63%] 192s tests/translate/storage/test_omegat.py::TestOtFile::test_nonascii PASSED [ 63%] 192s tests/translate/storage/test_omegat.py::TestOtFile::test_mimetypes PASSED [ 63%] 192s tests/translate/storage/test_omegat.py::TestOtFile::test_extensions XFAIL [ 63%] 192s tests/translate/storage/test_oo.py::test_makekey PASSED [ 63%] 192s tests/translate/storage/test_oo.py::test_escape_help_text PASSED [ 63%] 192s tests/translate/storage/test_oo.py::TestOO::test_simpleentry PASSED [ 63%] 192s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_quickhelptest PASSED [ 63%] 192s tests/translate/storage/test_oo.py::TestOO::test_simpleentry_title PASSED [ 63%] 192s tests/translate/storage/test_oo.py::TestOO::test_blankline PASSED [ 63%] 192s tests/translate/storage/test_oo.py::TestOO::test_fieldlength PASSED [ 63%] 192s tests/translate/storage/test_oo.py::TestOO::test_escapes PASSED [ 63%] 192s tests/translate/storage/test_php.py::test_php_escaping_single_quote PASSED [ 63%] 192s tests/translate/storage/test_php.py::test_php_escaping_double_quote PASSED [ 63%] 192s tests/translate/storage/test_php.py::TestPhpUnit::test_isfuzzy PASSED [ 63%] 192s tests/translate/storage/test_php.py::TestPhpUnit::test_create PASSED [ 63%] 192s tests/translate/storage/test_php.py::TestPhpUnit::test_eq PASSED [ 63%] 192s tests/translate/storage/test_php.py::TestPhpUnit::test_escapes PASSED [ 63%] 192s tests/translate/storage/test_php.py::TestPhpUnit::test_note_sanity PASSED [ 63%] 192s tests/translate/storage/test_php.py::TestPhpUnit::test_target PASSED [ 63%] 192s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_get PASSED [ 63%] 192s tests/translate/storage/test_php.py::TestPhpUnit::test_rich_set PASSED [ 63%] 192s tests/translate/storage/test_php.py::TestPhpUnit::test_difficult_escapes PASSED [ 63%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_create_blank PASSED [ 63%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_add PASSED [ 63%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_remove PASSED [ 63%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_find PASSED [ 63%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parse PASSED [ 63%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_files PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_save PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_extensions PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_mimetypes PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_translate PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_markup PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_nonascii PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_source PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_spaces_in_name PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_comment_definition PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_comment_blocks PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_comment_output PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_comment_add PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_multiline PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_no_array_syntax PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_spaces PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_quotes PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_keys_with_number_as_value PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_non_textual PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_define_with_spaces_before_key PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_after_equal_delimiter_and_before_key PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equal_delimiter PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_no_spaces_after_equaldel_but_before_key PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_entries_with_quotes PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_comments_at_entry_line_end PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_double_slash_comments_before_entries PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_define_spaces_before_end_delimiter PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simpledefinition_spaces_before_end_delimiter PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_no_trailing_comma PASSED [ 64%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_space_before_comma PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_space_before_array_declaration PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_declared_in_a_single_line PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_with_no_keys_assigned_to_array PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_no_keys PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_assignment_in_line_where_multiline_comment_ends PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_arrays_using_short_array_syntax PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_space_before_array_declaration PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_unnamed_nested_arrays PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_array_declaration_in_next_line PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_array_with_newline_after_delimiter PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_nested_arrays_with_blank_entries PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_slashstar_in_string PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_parsing_simple_heredoc_syntax PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_simpledefinition_after_define PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_quotes PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_concatenation PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_serialize PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_space_before_comma PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_equals_in_id PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_comma_in_string PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_nowdoc PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_plain_concatenation PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_array_keys PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_double_var PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_return_array PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_return_array_short_quotes PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestPhpFile::test_addunit PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_isfuzzy PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_create PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_eq PASSED [ 65%] 192s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_escapes PASSED [ 66%] 192s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_difficult_escapes PASSED [ 66%] 192s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_note_sanity PASSED [ 66%] 192s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_target PASSED [ 66%] 192s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_get PASSED [ 66%] 192s tests/translate/storage/test_php.py::TestLaravelPhpUnit::test_rich_set PASSED [ 66%] 192s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_create_blank PASSED [ 66%] 192s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_add PASSED [ 66%] 192s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_remove PASSED [ 66%] 192s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_find PASSED [ 66%] 192s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_parse PASSED [ 66%] 192s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_files PASSED [ 66%] 192s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_save PASSED [ 66%] 192s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_extensions PASSED [ 66%] 192s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_mimetypes PASSED [ 66%] 192s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_translate PASSED [ 66%] 192s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_markup PASSED [ 66%] 192s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_nonascii PASSED [ 66%] 192s tests/translate/storage/test_php.py::TestLaravelPhpFile::test_plurals PASSED [ 66%] 192s tests/translate/storage/test_po.py::test_roundtrip_quoting PASSED [ 66%] 192s tests/translate/storage/test_po.py::TestPOUnit::test_isfuzzy PASSED [ 66%] 192s tests/translate/storage/test_po.py::TestPOUnit::test_create PASSED [ 66%] 192s tests/translate/storage/test_po.py::TestPOUnit::test_eq PASSED [ 66%] 192s tests/translate/storage/test_po.py::TestPOUnit::test_target PASSED [ 66%] 192s tests/translate/storage/test_po.py::TestPOUnit::test_escapes PASSED [ 66%] 192s tests/translate/storage/test_po.py::TestPOUnit::test_difficult_escapes PASSED [ 66%] 192s tests/translate/storage/test_po.py::TestPOUnit::test_note_sanity PASSED [ 66%] 192s tests/translate/storage/test_po.py::TestPOUnit::test_rich_get PASSED [ 66%] 192s tests/translate/storage/test_po.py::TestPOUnit::test_rich_set PASSED [ 66%] 192s tests/translate/storage/test_po.py::TestPOUnit::test_istranslatable PASSED [ 66%] 192s tests/translate/storage/test_po.py::TestPOUnit::test_locations PASSED [ 66%] 192s tests/translate/storage/test_po.py::TestPOUnit::test_nongettext_location PASSED [ 66%] 192s tests/translate/storage/test_po.py::TestPOUnit::test_adding_empty_note PASSED [ 66%] 192s tests/translate/storage/test_po.py::TestPOUnit::test_markreview PASSED [ 66%] 192s tests/translate/storage/test_po.py::TestPOUnit::test_errors PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOUnit::test_no_plural_settarget PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOUnit::test_wrapping_bug PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOUnit::test_extract_msgidcomments_from_text PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOUnit::test_isheader PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOUnit::test_buildfromunit PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_create_blank PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_add PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_remove PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_find PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_translate PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_parse PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_files PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_save PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_markup PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_nonascii PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_extensions PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_mimetypes PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_context_only PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_simpleentry PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_copy PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_parse_source_string PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_parse_file PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_unicode PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_plurals PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_plural_unicode PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_nongettext_location PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_percent_location PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals XFAIL [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_empty_lines_notes PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_fuzzy PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated XFAIL [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_merging_automaticcomments PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_malformed_units PASSED [ 67%] 192s tests/translate/storage/test_po.py::TestPOFile::test_malformed_obsolete_units PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_uniforum_po PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_obsolete PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_obsolete_with_prev_msgid PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_header_escapes PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_plural PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgctxt PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_msgidcomments PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_multiline_obsolete PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_merge_duplicates PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_merge_mixed_sources PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_parse_context PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_parse_advanced_context PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_kde_context PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_broken_kde_context PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_id PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_non_ascii_header_comments_2 PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_final_slash PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_unfinished_lines PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_encoding_change PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_istranslated PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_wrapping PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_wrapping_cjk PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_wrap_emoji PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_wrap_parenthesis_long PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_wrap_gettext PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_msgidcomments PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_unicode_ids PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_syntax_error PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_invalid PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_wrapped_msgid PASSED [ 68%] 192s tests/translate/storage/test_po.py::TestPOFile::test_missing_plural PASSED [ 69%] 192s tests/translate/storage/test_pocommon.py::test_roundtrip_quote_plus PASSED [ 69%] 192s tests/translate/storage/test_poheader.py::test_parseheaderstring PASSED [ 69%] 192s tests/translate/storage/test_poheader.py::test_update PASSED [ 69%] 192s tests/translate/storage/test_poheader.py::test_po_dates PASSED [ 69%] 192s tests/translate/storage/test_poheader.py::test_timezones PASSED [ 69%] 192s tests/translate/storage/test_poheader.py::test_header_blank PASSED [ 69%] 192s tests/translate/storage/test_poheader.py::test_plural_equation PASSED [ 69%] 192s tests/translate/storage/test_poheader.py::test_plural_equation_across_lines PASSED [ 69%] 192s tests/translate/storage/test_poheader.py::test_updatecontributor PASSED [ 69%] 192s tests/translate/storage/test_poheader.py::test_updatecontributor_header PASSED [ 69%] 192s tests/translate/storage/test_poheader.py::test_language PASSED [ 69%] 192s tests/translate/storage/test_poheader.py::test_project PASSED [ 69%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_isfuzzy PASSED [ 69%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_create PASSED [ 69%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_eq PASSED [ 69%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_target PASSED [ 69%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_escapes PASSED [ 69%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_difficult_escapes PASSED [ 69%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_note_sanity PASSED [ 69%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_get PASSED [ 69%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_rich_set PASSED [ 69%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_markreview PASSED [ 69%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_errors PASSED [ 69%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_accepted_control_chars PASSED [ 69%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_unaccepted_control_chars PASSED [ 69%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_plurals PASSED [ 69%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFUnit::test_ids PASSED [ 69%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_create_blank PASSED [ 69%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add PASSED [ 69%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_remove PASSED [ 69%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_find PASSED [ 69%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_translate PASSED [ 69%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_files PASSED [ 69%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_save PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_markup PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_nonascii PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_extensions PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_mimetypes PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_basic PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_namespace PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_source PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_rich_target PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_source PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_target PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_sourcelanguage PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_targetlanguage_multi PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_alttrans PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_fuzzy PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_xml_space PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parsing PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_entities PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_multiple_filenodes PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_indent PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_add_target PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_closing_tags PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_context_groups PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_getlocations PASSED [ 70%] 192s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_addlocation PASSED [ 70%] 193s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_huge PASSED [ 70%] 193s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_preserve_add PASSED [ 70%] 193s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse PASSED [ 70%] 193s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_parse_plural_alpha_id PASSED [ 70%] 193s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_notes PASSED [ 70%] 193s tests/translate/storage/test_poxliff.py::TestPOXLIFFfile::test_plural PASSED [ 70%] 193s tests/translate/storage/test_properties.py::test_find_delimiter_pos_simple PASSED [ 71%] 193s tests/translate/storage/test_properties.py::test_find_delimiter_pos_multiple PASSED [ 71%] 193s tests/translate/storage/test_properties.py::test_find_delimiter_pos_none PASSED [ 71%] 193s tests/translate/storage/test_properties.py::test_find_delimiter_pos_whitespace PASSED [ 71%] 193s tests/translate/storage/test_properties.py::test_find_delimiter_pos_escapes PASSED [ 71%] 193s tests/translate/storage/test_properties.py::test_is_line_continuation PASSED [ 71%] 193s tests/translate/storage/test_properties.py::test_key_strip PASSED [ 71%] 193s tests/translate/storage/test_properties.py::test_get_comment_one_line PASSED [ 71%] 193s tests/translate/storage/test_properties.py::test_get_comment_start PASSED [ 71%] 193s tests/translate/storage/test_properties.py::test_get_comment_end PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestPropUnit::test_isfuzzy PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestPropUnit::test_create PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestPropUnit::test_eq PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestPropUnit::test_escapes PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestPropUnit::test_difficult_escapes PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestPropUnit::test_note_sanity PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestPropUnit::test_target PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_get PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestPropUnit::test_rich_set PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestGwtProp::test_create_blank PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestGwtProp::test_add PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestGwtProp::test_remove PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestGwtProp::test_find PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestGwtProp::test_parse PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestGwtProp::test_files PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestGwtProp::test_save PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestGwtProp::test_extensions PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestGwtProp::test_mimetypes PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestGwtProp::test_translate PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestGwtProp::test_markup PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestGwtProp::test_nonascii PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestGwtProp::test_quotes PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestGwtProp::test_simpledefinition PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition PASSED [ 71%] 193s tests/translate/storage/test_properties.py::TestGwtProp::test_doubledefinition_source PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestGwtProp::test_reduce PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestGwtProp::test_increase PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestGwtProp::test_extra_plurals PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestGwtProp::test_non_plurals PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestGwtProp::test_encoding PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestGwtProp::test_other_plurals PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_create_blank PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_add PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_remove PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_find PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_parse PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_files PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_save PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_extensions PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_mimetypes PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_translate PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_markup PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_nonascii PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_simpledefinition_source PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_controlutf8_source PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_control_source PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_unicode_escaping PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_newlines_startend PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_space PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_whitespace_handling PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_key_value_delimiters_simple PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_comments PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_latin1 PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_fullspec_delimiters PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_fullspec_escaped_key PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_fullspec_line_continuation PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_fullspec_key_without_value PASSED [ 72%] 193s tests/translate/storage/test_properties.py::TestProp::test_mac_strings PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_utf_16_save PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_mac_multiline_strings PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_unicode PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_utf8 PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_newlines PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_multilines_comments PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_comments_dropping PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_quotes PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_equals PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_serialization PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_mac_strings_double_backslashes PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_override_encoding PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_trailing_comments PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_utf16_byte_order_mark PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_raise_ioerror_if_cannot_detect_encoding PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_utf8_byte_order_mark PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_joomla_set_target PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_joomla PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_joomla_escape PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_delimiter PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_serialize_missing_value PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_multi_comments PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_serialize_note PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_serialize_long_note PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestProp::test_trailing_newlines PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestXWiki::test_create_blank PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestXWiki::test_add PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestXWiki::test_remove PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestXWiki::test_find PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestXWiki::test_parse PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestXWiki::test_files PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestXWiki::test_save PASSED [ 73%] 193s tests/translate/storage/test_properties.py::TestXWiki::test_extensions PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWiki::test_mimetypes PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWiki::test_translate PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWiki::test_markup PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWiki::test_nonascii PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWiki::test_simpledefinition PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWiki::test_missing_definition_source PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWiki::test_definition_with_simple_quote_and_argument PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWiki::test_header_preserved PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWiki::test_blank_line_before_comment_preserved PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWiki::test_deprecated_comments_preserved PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_create_blank PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_add PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_remove PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_find PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_parse PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_files PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_save PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_extensions PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_mimetypes PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_markup PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_nonascii PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_simpledefinition PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_missing_definition_source PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_simple_quote_and_argument PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_definition_with_encoded_html PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_cleaning_attributes PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWikiPageProperties::test_translate_source PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_create_blank PASSED [ 74%] 193s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_add PASSED [ 75%] 193s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_find PASSED [ 75%] 193s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_extensions PASSED [ 75%] 193s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_mimetypes PASSED [ 75%] 193s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_translate PASSED [ 75%] 193s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_markup PASSED [ 75%] 193s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_nonascii PASSED [ 75%] 193s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_simpledefinition PASSED [ 75%] 193s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_parse PASSED [ 75%] 193s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_files PASSED [ 75%] 193s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_save PASSED [ 75%] 193s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_cleaning_attributes PASSED [ 75%] 193s tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove XFAIL [ 75%] 193s tests/translate/storage/test_pypo.py::TestHelpers::test_unescape PASSED [ 75%] 193s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo PASSED [ 75%] 193s tests/translate/storage/test_pypo.py::TestHelpers::test_quoteforpo_escaped_quotes PASSED [ 75%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isfuzzy PASSED [ 75%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_create PASSED [ 75%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_eq PASSED [ 75%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_target PASSED [ 75%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_escapes PASSED [ 75%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_difficult_escapes PASSED [ 75%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_note_sanity PASSED [ 75%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_get PASSED [ 75%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_rich_set PASSED [ 75%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_istranslatable PASSED [ 75%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_locations PASSED [ 75%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_nongettext_location PASSED [ 75%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_adding_empty_note PASSED [ 75%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_markreview PASSED [ 75%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_errors PASSED [ 75%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_no_plural_settarget PASSED [ 75%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrapping_bug PASSED [ 75%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_extract_msgidcomments_from_text PASSED [ 75%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_isheader PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_buildfromunit PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plurals PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_plural_reduction PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_notes_withcomments PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_firstlines PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_newlines PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_max_line_length PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_wrap_on_slash PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOUnit::test_spacing_max_line PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_create_blank PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_add PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_remove PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_find PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_translate PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_files PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_save PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_markup PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nonascii PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_extensions PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mimetypes PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_context_only PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_simpleentry PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_copy PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_source_string PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_file PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plurals PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_plural_unicode PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_nongettext_location PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_percent_location PASSED [ 76%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals XFAIL [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_empty_lines_notes PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_fuzzy PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated XFAIL [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merging_automaticcomments PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_units PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_malformed_obsolete_units PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_uniforum_po PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_obsolete_with_prev_msgid PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_header_escapes PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_plural PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgctxt PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_msgidcomments PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_multiline_obsolete PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_mixed_sources PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_context PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_parse_advanced_context PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_context PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_broken_kde_context PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_id PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_non_ascii_header_comments_2 PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_final_slash PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unfinished_lines PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_encoding_change PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_istranslated PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapping_cjk PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_emoji PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_parenthesis_long PASSED [ 77%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_gettext PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_msgidcomments PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_ids PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_syntax_error PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrapped_msgid PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_missing_plural PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_combine_msgidcomments PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_duplicates_msgctxt PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_merge_blanks PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_output_str_unicode PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_posections PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_typecomments PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unassociated_comments PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unicode_header PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_prevmsgid_parse PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_newlines PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_unix_newlines PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mac_newlines PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_header PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_comment PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_bom PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_long_msgidcomments PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_incomplete PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_invalid PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_write PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment XFAIL [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_dos_newlines_typecomment PASSED [ 78%] 193s tests/translate/storage/test_pypo.py::TestPYPOFile::test_wrap_custom PASSED [ 78%] 193s tests/translate/storage/test_qm.py::TestQtUnit::test_isfuzzy PASSED [ 78%] 193s tests/translate/storage/test_qm.py::TestQtUnit::test_create PASSED [ 78%] 193s tests/translate/storage/test_qm.py::TestQtUnit::test_eq PASSED [ 78%] 193s tests/translate/storage/test_qm.py::TestQtUnit::test_target PASSED [ 79%] 193s tests/translate/storage/test_qm.py::TestQtUnit::test_escapes PASSED [ 79%] 193s tests/translate/storage/test_qm.py::TestQtUnit::test_difficult_escapes PASSED [ 79%] 193s tests/translate/storage/test_qm.py::TestQtUnit::test_note_sanity PASSED [ 79%] 193s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_get PASSED [ 79%] 193s tests/translate/storage/test_qm.py::TestQtUnit::test_rich_set PASSED [ 79%] 193s tests/translate/storage/test_qm.py::TestQtFile::test_create_blank PASSED [ 79%] 193s tests/translate/storage/test_qm.py::TestQtFile::test_find PASSED [ 79%] 193s tests/translate/storage/test_qm.py::TestQtFile::test_translate PASSED [ 79%] 193s tests/translate/storage/test_qm.py::TestQtFile::test_markup PASSED [ 79%] 193s tests/translate/storage/test_qm.py::TestQtFile::test_extensions PASSED [ 79%] 193s tests/translate/storage/test_qm.py::TestQtFile::test_mimetypes PASSED [ 79%] 193s tests/translate/storage/test_qm.py::TestQtFile::test_parse PASSED [ 79%] 193s tests/translate/storage/test_qm.py::TestQtFile::test_save PASSED [ 79%] 193s tests/translate/storage/test_qm.py::TestQtFile::test_files PASSED [ 79%] 193s tests/translate/storage/test_qm.py::TestQtFile::test_nonascii PASSED [ 79%] 193s tests/translate/storage/test_qm.py::TestQtFile::test_add PASSED [ 79%] 193s tests/translate/storage/test_qm.py::TestQtFile::test_remove PASSED [ 79%] 193s tests/translate/storage/test_qph.py::TestQphUnit::test_isfuzzy PASSED [ 79%] 193s tests/translate/storage/test_qph.py::TestQphUnit::test_create PASSED [ 79%] 193s tests/translate/storage/test_qph.py::TestQphUnit::test_eq PASSED [ 79%] 193s tests/translate/storage/test_qph.py::TestQphUnit::test_target PASSED [ 79%] 193s tests/translate/storage/test_qph.py::TestQphUnit::test_escapes PASSED [ 79%] 193s tests/translate/storage/test_qph.py::TestQphUnit::test_difficult_escapes PASSED [ 79%] 193s tests/translate/storage/test_qph.py::TestQphUnit::test_note_sanity PASSED [ 79%] 193s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_get PASSED [ 79%] 193s tests/translate/storage/test_qph.py::TestQphUnit::test_rich_set PASSED [ 79%] 193s tests/translate/storage/test_qph.py::TestQphFile::test_create_blank PASSED [ 79%] 193s tests/translate/storage/test_qph.py::TestQphFile::test_add PASSED [ 79%] 193s tests/translate/storage/test_qph.py::TestQphFile::test_remove PASSED [ 79%] 193s tests/translate/storage/test_qph.py::TestQphFile::test_find PASSED [ 79%] 193s tests/translate/storage/test_qph.py::TestQphFile::test_translate PASSED [ 79%] 193s tests/translate/storage/test_qph.py::TestQphFile::test_parse PASSED [ 79%] 193s tests/translate/storage/test_qph.py::TestQphFile::test_files PASSED [ 79%] 193s tests/translate/storage/test_qph.py::TestQphFile::test_save PASSED [ 80%] 193s tests/translate/storage/test_qph.py::TestQphFile::test_markup PASSED [ 80%] 193s tests/translate/storage/test_qph.py::TestQphFile::test_nonascii PASSED [ 80%] 193s tests/translate/storage/test_qph.py::TestQphFile::test_extensions PASSED [ 80%] 193s tests/translate/storage/test_qph.py::TestQphFile::test_mimetypes PASSED [ 80%] 193s tests/translate/storage/test_qph.py::TestQphFile::test_basic PASSED [ 80%] 193s tests/translate/storage/test_qph.py::TestQphFile::test_source PASSED [ 80%] 193s tests/translate/storage/test_qph.py::TestQphFile::test_target PASSED [ 80%] 193s tests/translate/storage/test_qph.py::TestQphFile::test_language PASSED [ 80%] 193s tests/translate/storage/test_rc.py::test_escaping PASSED [ 80%] 193s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_comments PASSED [ 80%] 193s tests/translate/storage/test_rc.py::TestRcFile::test_parse_only_textinclude PASSED [ 80%] 193s tests/translate/storage/test_rc.py::TestRcFile::test_parse_dialog PASSED [ 80%] 193s tests/translate/storage/test_rc.py::TestRcFile::test_parse_stringtable PASSED [ 80%] 193s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_lf PASSED [ 80%] 193s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_crlf PASSED [ 80%] 193s tests/translate/storage/test_rc.py::TestRcFile::test_parse_newlines_cr PASSED [ 80%] 193s tests/translate/storage/test_rc.py::TestRcFile::test_parse_no_language PASSED [ 80%] 193s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude PASSED [ 80%] 193s tests/translate/storage/test_rc.py::TestRcFile::test_multiline PASSED [ 80%] 193s tests/translate/storage/test_rc.py::TestRcFile::test_str PASSED [ 80%] 193s tests/translate/storage/test_rc.py::TestRcFile::test_empty PASSED [ 80%] 193s tests/translate/storage/test_rc.py::TestRcFile::test_utf_8 PASSED [ 80%] 193s tests/translate/storage/test_rc.py::TestRcFile::test_utf_16 PASSED [ 80%] 193s tests/translate/storage/test_rc.py::TestRcFile::test_comment PASSED [ 80%] 193s tests/translate/storage/test_rc.py::TestRcFile::test_stringtables PASSED [ 80%] 193s tests/translate/storage/test_rc.py::TestRcFile::test_textinclude_appstudio PASSED [ 80%] 193s tests/translate/storage/test_rc.py::TestRcFile::test_id_whitespace PASSED [ 80%] 193s tests/translate/storage/test_rc.py::TestRcFile::test_menu_comment PASSED [ 80%] 193s tests/translate/storage/test_rc.py::TestRcFile::test_decompiled PASSED [ 80%] 193s tests/translate/storage/test_rc.py::TestRcFile::test_quotes PASSED [ 80%] 193s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_isfuzzy PASSED [ 80%] 193s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_create PASSED [ 80%] 193s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_eq PASSED [ 80%] 193s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_escapes PASSED [ 81%] 193s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_difficult_escapes PASSED [ 81%] 193s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_note_sanity PASSED [ 81%] 193s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_target PASSED [ 81%] 193s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_get PASSED [ 81%] 193s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryUnit::test_rich_set PASSED [ 81%] 193s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_create_blank PASSED [ 81%] 193s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_add PASSED [ 81%] 193s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_remove PASSED [ 81%] 193s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_find PASSED [ 81%] 193s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_parse PASSED [ 81%] 193s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_files PASSED [ 81%] 193s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_save PASSED [ 81%] 193s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_extensions PASSED [ 81%] 193s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_mimetypes PASSED [ 81%] 193s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_translate PASSED [ 81%] 193s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_markup PASSED [ 81%] 193s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_nonascii PASSED [ 81%] 193s tests/translate/storage/test_resourcedictionary.py::TestResourceDictionaryFile::test_roundtrip PASSED [ 81%] 193s tests/translate/storage/test_resx.py::TestRESXUnit::test_isfuzzy PASSED [ 81%] 193s tests/translate/storage/test_resx.py::TestRESXUnit::test_create PASSED [ 81%] 193s tests/translate/storage/test_resx.py::TestRESXUnit::test_eq PASSED [ 81%] 193s tests/translate/storage/test_resx.py::TestRESXUnit::test_escapes PASSED [ 81%] 193s tests/translate/storage/test_resx.py::TestRESXUnit::test_difficult_escapes PASSED [ 81%] 193s tests/translate/storage/test_resx.py::TestRESXUnit::test_note_sanity PASSED [ 81%] 193s tests/translate/storage/test_resx.py::TestRESXUnit::test_target PASSED [ 81%] 193s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_get PASSED [ 81%] 193s tests/translate/storage/test_resx.py::TestRESXUnit::test_rich_set PASSED [ 81%] 193s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_isfuzzy PASSED [ 81%] 193s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_create PASSED [ 81%] 193s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_eq PASSED [ 81%] 193s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_escapes PASSED [ 81%] 193s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_difficult_escapes PASSED [ 81%] 193s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_note_sanity PASSED [ 81%] 193s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_target PASSED [ 82%] 193s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_get PASSED [ 82%] 193s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_rich_set PASSED [ 82%] 193s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit PASSED [ 82%] 193s tests/translate/storage/test_resx.py::TestRESXUnitFromParsedString::test_newunit_comment PASSED [ 82%] 193s tests/translate/storage/test_resx.py::TestRESXfile::test_create_blank PASSED [ 82%] 193s tests/translate/storage/test_resx.py::TestRESXfile::test_add PASSED [ 82%] 193s tests/translate/storage/test_resx.py::TestRESXfile::test_remove PASSED [ 82%] 193s tests/translate/storage/test_resx.py::TestRESXfile::test_find PASSED [ 82%] 193s tests/translate/storage/test_resx.py::TestRESXfile::test_parse PASSED [ 82%] 193s tests/translate/storage/test_resx.py::TestRESXfile::test_files PASSED [ 82%] 193s tests/translate/storage/test_resx.py::TestRESXfile::test_save PASSED [ 82%] 193s tests/translate/storage/test_resx.py::TestRESXfile::test_extensions PASSED [ 82%] 193s tests/translate/storage/test_resx.py::TestRESXfile::test_mimetypes PASSED [ 82%] 193s tests/translate/storage/test_resx.py::TestRESXfile::test_translate PASSED [ 82%] 193s tests/translate/storage/test_resx.py::TestRESXfile::test_markup PASSED [ 82%] 193s tests/translate/storage/test_resx.py::TestRESXfile::test_nonascii PASSED [ 82%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_isfuzzy PASSED [ 82%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_create PASSED [ 82%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq PASSED [ 82%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_escapes PASSED [ 82%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_difficult_escapes PASSED [ 82%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_note_sanity PASSED [ 82%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_target PASSED [ 82%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_get PASSED [ 82%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_rich_set PASSED [ 82%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_source PASSED [ 82%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_eq_formatvaluetype PASSED [ 82%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictUnit::test_innerkey PASSED [ 82%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_create_blank PASSED [ 82%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add PASSED [ 82%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_remove PASSED [ 82%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_find PASSED [ 82%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_parse PASSED [ 83%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_files PASSED [ 83%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_save PASSED [ 83%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_extensions PASSED [ 83%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_mimetypes PASSED [ 83%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_translate PASSED [ 83%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_markup PASSED [ 83%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_nonascii PASSED [ 83%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_serialize PASSED [ 83%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_default_handlings PASSED [ 83%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename PASSED [ 83%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_base_filename PASSED [ 83%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_targetlanguage_auto_detection_filename_default_language PASSED [ 83%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_plural_zero_always_set PASSED [ 83%] 193s tests/translate/storage/test_stringsdict.py::TestStringsDictFile::test_add_unit PASSED [ 83%] 193s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_create_blank PASSED [ 83%] 193s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_add PASSED [ 83%] 193s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_remove PASSED [ 83%] 193s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_find PASSED [ 83%] 193s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_parse PASSED [ 83%] 193s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_files PASSED [ 83%] 193s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_save PASSED [ 83%] 193s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_extensions PASSED [ 83%] 193s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_mimetypes PASSED [ 83%] 193s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_translate PASSED [ 83%] 193s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_markup PASSED [ 83%] 193s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_nonascii PASSED [ 83%] 193s tests/translate/storage/test_subtitles.py::TestSubRipFile::test_ordering PASSED [ 83%] 193s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_create_blank PASSED [ 83%] 193s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_add PASSED [ 83%] 193s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_remove PASSED [ 83%] 193s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_find PASSED [ 83%] 193s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_parse PASSED [ 83%] 193s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_files PASSED [ 83%] 193s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_save PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_extensions PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_mimetypes PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_translate PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_markup PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_nonascii PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_ordering PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity XFAIL [ 84%] 193s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_create_blank PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_add PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_remove PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_find PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_parse PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_files PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_save PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_extensions PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_mimetypes PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_translate PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_markup PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_nonascii PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestMicroDVDFile::test_ordering PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_create_blank PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_add PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_remove PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_find PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_parse PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_files PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_save PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_extensions PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_mimetypes PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_translate PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_markup PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_nonascii PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestAdvSubStationAlphaFile::test_ordering PASSED [ 84%] 193s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_create_blank PASSED [ 85%] 193s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_add PASSED [ 85%] 193s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_remove PASSED [ 85%] 193s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_find PASSED [ 85%] 193s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_parse PASSED [ 85%] 193s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_files PASSED [ 85%] 193s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_save PASSED [ 85%] 193s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_extensions PASSED [ 85%] 193s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_mimetypes PASSED [ 85%] 193s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_translate PASSED [ 85%] 193s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_markup PASSED [ 85%] 193s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_nonascii PASSED [ 85%] 193s tests/translate/storage/test_subtitles.py::TestSubStationAlphaFile::test_ordering PASSED [ 85%] 193s tests/translate/storage/test_tbx.py::TestTBXUnit::test_isfuzzy PASSED [ 85%] 193s tests/translate/storage/test_tbx.py::TestTBXUnit::test_create PASSED [ 85%] 193s tests/translate/storage/test_tbx.py::TestTBXUnit::test_eq PASSED [ 85%] 193s tests/translate/storage/test_tbx.py::TestTBXUnit::test_target PASSED [ 85%] 193s tests/translate/storage/test_tbx.py::TestTBXUnit::test_escapes PASSED [ 85%] 193s tests/translate/storage/test_tbx.py::TestTBXUnit::test_difficult_escapes PASSED [ 85%] 193s tests/translate/storage/test_tbx.py::TestTBXUnit::test_note_sanity PASSED [ 85%] 193s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_get PASSED [ 85%] 193s tests/translate/storage/test_tbx.py::TestTBXUnit::test_rich_set PASSED [ 85%] 193s tests/translate/storage/test_tbx.py::TestTBXfile::test_create_blank PASSED [ 85%] 193s tests/translate/storage/test_tbx.py::TestTBXfile::test_add PASSED [ 85%] 193s tests/translate/storage/test_tbx.py::TestTBXfile::test_remove PASSED [ 85%] 193s tests/translate/storage/test_tbx.py::TestTBXfile::test_find PASSED [ 85%] 193s tests/translate/storage/test_tbx.py::TestTBXfile::test_translate PASSED [ 85%] 193s tests/translate/storage/test_tbx.py::TestTBXfile::test_parse PASSED [ 85%] 193s tests/translate/storage/test_tbx.py::TestTBXfile::test_files PASSED [ 85%] 193s tests/translate/storage/test_tbx.py::TestTBXfile::test_save PASSED [ 85%] 193s tests/translate/storage/test_tbx.py::TestTBXfile::test_markup PASSED [ 85%] 193s tests/translate/storage/test_tbx.py::TestTBXfile::test_nonascii PASSED [ 85%] 193s tests/translate/storage/test_tbx.py::TestTBXfile::test_extensions PASSED [ 85%] 193s tests/translate/storage/test_tbx.py::TestTBXfile::test_mimetypes PASSED [ 85%] 193s tests/translate/storage/test_tbx.py::TestTBXfile::test_basic PASSED [ 86%] 193s tests/translate/storage/test_tbx.py::TestTBXfile::test_source PASSED [ 86%] 193s tests/translate/storage/test_tbx.py::TestTBXfile::test_target PASSED [ 86%] 193s tests/translate/storage/test_tbx.py::TestTBXfile::test_setid PASSED [ 86%] 193s tests/translate/storage/test_tbx.py::TestTBXfile::test_indent PASSED [ 86%] 193s tests/translate/storage/test_tbx.py::TestTBXfile::test_descrip PASSED [ 86%] 193s tests/translate/storage/test_tbx.py::TestTBXfile::test_note_from PASSED [ 86%] 193s tests/translate/storage/test_tiki.py::TestTikiUnit::test_locations PASSED [ 86%] 193s tests/translate/storage/test_tiki.py::TestTikiUnit::test_to_unicode PASSED [ 86%] 193s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_simple PASSED [ 86%] 193s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_encode PASSED [ 86%] 193s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_locations PASSED [ 86%] 193s tests/translate/storage/test_tiki.py::TestTikiStore::test_parse_ignore_extras PASSED [ 86%] 193s tests/translate/storage/test_tmx.py::TestTMXUnit::test_isfuzzy PASSED [ 86%] 193s tests/translate/storage/test_tmx.py::TestTMXUnit::test_create PASSED [ 86%] 193s tests/translate/storage/test_tmx.py::TestTMXUnit::test_eq PASSED [ 86%] 193s tests/translate/storage/test_tmx.py::TestTMXUnit::test_target PASSED [ 86%] 193s tests/translate/storage/test_tmx.py::TestTMXUnit::test_escapes PASSED [ 86%] 193s tests/translate/storage/test_tmx.py::TestTMXUnit::test_difficult_escapes PASSED [ 86%] 193s tests/translate/storage/test_tmx.py::TestTMXUnit::test_note_sanity PASSED [ 86%] 193s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_get PASSED [ 86%] 193s tests/translate/storage/test_tmx.py::TestTMXUnit::test_rich_set PASSED [ 86%] 193s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_isfuzzy PASSED [ 86%] 193s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_create PASSED [ 86%] 193s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_eq PASSED [ 86%] 193s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_target PASSED [ 86%] 193s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_escapes PASSED [ 86%] 193s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_difficult_escapes PASSED [ 86%] 193s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_note_sanity PASSED [ 86%] 193s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_get PASSED [ 86%] 193s tests/translate/storage/test_tmx.py::TestTMXUnitFromParsedString::test_rich_set PASSED [ 86%] 193s tests/translate/storage/test_tmx.py::TestTMXfile::test_create_blank PASSED [ 86%] 193s tests/translate/storage/test_tmx.py::TestTMXfile::test_add PASSED [ 86%] 193s tests/translate/storage/test_tmx.py::TestTMXfile::test_remove PASSED [ 86%] 193s tests/translate/storage/test_tmx.py::TestTMXfile::test_find PASSED [ 87%] 193s tests/translate/storage/test_tmx.py::TestTMXfile::test_parse PASSED [ 87%] 193s tests/translate/storage/test_tmx.py::TestTMXfile::test_files PASSED [ 87%] 193s tests/translate/storage/test_tmx.py::TestTMXfile::test_save PASSED [ 87%] 193s tests/translate/storage/test_tmx.py::TestTMXfile::test_markup PASSED [ 87%] 193s tests/translate/storage/test_tmx.py::TestTMXfile::test_nonascii PASSED [ 87%] 193s tests/translate/storage/test_tmx.py::TestTMXfile::test_extensions PASSED [ 87%] 193s tests/translate/storage/test_tmx.py::TestTMXfile::test_mimetypes PASSED [ 87%] 193s tests/translate/storage/test_tmx.py::TestTMXfile::test_translate PASSED [ 87%] 193s tests/translate/storage/test_tmx.py::TestTMXfile::test_addtranslation PASSED [ 87%] 193s tests/translate/storage/test_tmx.py::TestTMXfile::test_withcomment PASSED [ 87%] 193s tests/translate/storage/test_tmx.py::TestTMXfile::test_withnewlines PASSED [ 87%] 193s tests/translate/storage/test_tmx.py::TestTMXfile::test_xmlentities PASSED [ 87%] 193s tests/translate/storage/test_tmx.py::TestTMXfile::test_controls_cleaning PASSED [ 87%] 193s tests/translate/storage/test_trados.py::test_unescape PASSED [ 87%] 193s tests/translate/storage/test_trados.py::test_escape PASSED [ 87%] 193s tests/translate/storage/test_ts.py::TestTS::test_construct PASSED [ 87%] 193s tests/translate/storage/test_ts2.py::TestTSUnit::test_isfuzzy PASSED [ 87%] 193s tests/translate/storage/test_ts2.py::TestTSUnit::test_create PASSED [ 87%] 193s tests/translate/storage/test_ts2.py::TestTSUnit::test_eq PASSED [ 87%] 193s tests/translate/storage/test_ts2.py::TestTSUnit::test_target PASSED [ 87%] 193s tests/translate/storage/test_ts2.py::TestTSUnit::test_escapes PASSED [ 87%] 193s tests/translate/storage/test_ts2.py::TestTSUnit::test_difficult_escapes PASSED [ 87%] 193s tests/translate/storage/test_ts2.py::TestTSUnit::test_note_sanity PASSED [ 87%] 193s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_get PASSED [ 87%] 193s tests/translate/storage/test_ts2.py::TestTSUnit::test_rich_set PASSED [ 87%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_create_blank PASSED [ 87%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_add PASSED [ 87%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_remove PASSED [ 87%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_find PASSED [ 87%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_translate PASSED [ 87%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_parse PASSED [ 87%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_files PASSED [ 87%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_save PASSED [ 87%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_markup PASSED [ 88%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_nonascii PASSED [ 88%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_extensions PASSED [ 88%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_mimetypes PASSED [ 88%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_basic PASSED [ 88%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_source PASSED [ 88%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_target PASSED [ 88%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_plurals PASSED [ 88%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_nplural PASSED [ 88%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_language PASSED [ 88%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_edit PASSED [ 88%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_obsolete PASSED [ 88%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_locations PASSED [ 88%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_merge_with_fuzzies PASSED [ 88%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_getid PASSED [ 88%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_backnforth PASSED [ 88%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_context PASSED [ 88%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_roundtrip_context PASSED [ 88%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_edit_missing_translation PASSED [ 88%] 193s tests/translate/storage/test_ts2.py::TestTSfile::test_missing_source PASSED [ 88%] 193s tests/translate/storage/test_txt.py::TestTxtUnit::test_isfuzzy PASSED [ 88%] 193s tests/translate/storage/test_txt.py::TestTxtUnit::test_create PASSED [ 88%] 193s tests/translate/storage/test_txt.py::TestTxtUnit::test_eq PASSED [ 88%] 193s tests/translate/storage/test_txt.py::TestTxtUnit::test_escapes PASSED [ 88%] 193s tests/translate/storage/test_txt.py::TestTxtUnit::test_difficult_escapes PASSED [ 88%] 193s tests/translate/storage/test_txt.py::TestTxtUnit::test_note_sanity PASSED [ 88%] 193s tests/translate/storage/test_txt.py::TestTxtUnit::test_target PASSED [ 88%] 193s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_get PASSED [ 88%] 193s tests/translate/storage/test_txt.py::TestTxtUnit::test_rich_set PASSED [ 88%] 193s tests/translate/storage/test_txt.py::TestTxtFile::test_create_blank PASSED [ 88%] 193s tests/translate/storage/test_txt.py::TestTxtFile::test_add PASSED [ 88%] 193s tests/translate/storage/test_txt.py::TestTxtFile::test_remove PASSED [ 88%] 193s tests/translate/storage/test_txt.py::TestTxtFile::test_find PASSED [ 88%] 193s tests/translate/storage/test_txt.py::TestTxtFile::test_parse PASSED [ 89%] 193s tests/translate/storage/test_txt.py::TestTxtFile::test_files PASSED [ 89%] 193s tests/translate/storage/test_txt.py::TestTxtFile::test_save PASSED [ 89%] 193s tests/translate/storage/test_txt.py::TestTxtFile::test_extensions PASSED [ 89%] 193s tests/translate/storage/test_txt.py::TestTxtFile::test_mimetypes PASSED [ 89%] 193s tests/translate/storage/test_txt.py::TestTxtFile::test_translate PASSED [ 89%] 193s tests/translate/storage/test_txt.py::TestTxtFile::test_markup PASSED [ 89%] 193s tests/translate/storage/test_txt.py::TestTxtFile::test_nonascii PASSED [ 89%] 193s tests/translate/storage/test_txt.py::TestTxtFile::test_simpleblock PASSED [ 89%] 193s tests/translate/storage/test_txt.py::TestTxtFile::test_multipleblocks PASSED [ 89%] 193s tests/translate/storage/test_txt.py::TestTxtFile::test_no_segmentation PASSED [ 89%] 193s tests/translate/storage/test_utx.py::TestUtxUnit::test_isfuzzy PASSED [ 89%] 193s tests/translate/storage/test_utx.py::TestUtxUnit::test_create PASSED [ 89%] 193s tests/translate/storage/test_utx.py::TestUtxUnit::test_eq PASSED [ 89%] 193s tests/translate/storage/test_utx.py::TestUtxUnit::test_target PASSED [ 89%] 193s tests/translate/storage/test_utx.py::TestUtxUnit::test_escapes PASSED [ 89%] 193s tests/translate/storage/test_utx.py::TestUtxUnit::test_difficult_escapes PASSED [ 89%] 193s tests/translate/storage/test_utx.py::TestUtxUnit::test_note_sanity PASSED [ 89%] 193s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_get PASSED [ 89%] 193s tests/translate/storage/test_utx.py::TestUtxUnit::test_rich_set PASSED [ 89%] 193s tests/translate/storage/test_utx.py::TestUtxFile::test_create_blank PASSED [ 89%] 193s tests/translate/storage/test_utx.py::TestUtxFile::test_add PASSED [ 89%] 193s tests/translate/storage/test_utx.py::TestUtxFile::test_remove PASSED [ 89%] 193s tests/translate/storage/test_utx.py::TestUtxFile::test_find PASSED [ 89%] 193s tests/translate/storage/test_utx.py::TestUtxFile::test_translate PASSED [ 89%] 193s tests/translate/storage/test_utx.py::TestUtxFile::test_parse PASSED [ 89%] 193s tests/translate/storage/test_utx.py::TestUtxFile::test_files PASSED [ 89%] 193s tests/translate/storage/test_utx.py::TestUtxFile::test_save PASSED [ 89%] 193s tests/translate/storage/test_utx.py::TestUtxFile::test_markup PASSED [ 89%] 193s tests/translate/storage/test_utx.py::TestUtxFile::test_nonascii PASSED [ 89%] 193s tests/translate/storage/test_utx.py::TestUtxFile::test_extensions PASSED [ 89%] 193s tests/translate/storage/test_utx.py::TestUtxFile::test_mimetypes PASSED [ 89%] 193s tests/translate/storage/test_wordfast.py::TestWFTime::test_timestring PASSED [ 89%] 193s tests/translate/storage/test_wordfast.py::TestWFTime::test_time PASSED [ 89%] 193s tests/translate/storage/test_wordfast.py::TestWFUnit::test_isfuzzy PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFUnit::test_create PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFUnit::test_eq PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFUnit::test_target PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFUnit::test_escapes PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFUnit::test_note_sanity PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_get PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFUnit::test_rich_set PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFUnit::test_difficult_escapes PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFUnit::test_wordfast_escaping PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFUnit::test_newlines PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFUnit::test_language_setting PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFUnit::test_istranslated PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFFile::test_create_blank PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFFile::test_add PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFFile::test_remove PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFFile::test_find PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFFile::test_translate PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFFile::test_parse PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFFile::test_files PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFFile::test_save PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFFile::test_markup PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFFile::test_nonascii PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFFile::test_extensions PASSED [ 90%] 193s tests/translate/storage/test_wordfast.py::TestWFFile::test_mimetypes PASSED [ 90%] 193s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_isfuzzy PASSED [ 90%] 193s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_create PASSED [ 90%] 193s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_eq PASSED [ 90%] 193s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_target PASSED [ 90%] 193s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_escapes PASSED [ 90%] 193s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_difficult_escapes PASSED [ 90%] 193s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_note_sanity PASSED [ 90%] 193s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_get PASSED [ 90%] 193s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_rich_set PASSED [ 90%] 193s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_markreview PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_errors PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_accepted_control_chars PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFUnit::test_unaccepted_control_chars PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_create_blank PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_remove PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_find PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_translate PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parse PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_files PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_save PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_markup PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_nonascii PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_extensions PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_mimetypes PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_basic PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_namespace PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_source PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_rich_target PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_source PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_target PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_sourcelanguage PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_targetlanguage_multi PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_notes PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_alttrans PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_fuzzy PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_xml_space PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_parsing PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_entities PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_multiple_filenodes PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_indent PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_add_target PASSED [ 91%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve PASSED [ 92%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_closing_tags PASSED [ 92%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_context_groups PASSED [ 92%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_getlocations PASSED [ 92%] 193s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_addlocation PASSED [ 92%] 194s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_huge PASSED [ 92%] 194s tests/translate/storage/test_xliff.py::TestXLIFFfile::test_preserve_add PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_isfuzzy PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_create PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_eq PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_escapes PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_difficult_escapes PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_note_sanity PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_target PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_get PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_rich_set PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceUnit::test_getlocations PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_create_blank PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_find PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_files PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_save PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_extensions PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_mimetypes PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_translate PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_markup PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nonascii PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_serialize PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_edit_unicode PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_parse_unicode_list PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_ordering PASSED [ 92%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_initial_comments PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_string_key PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_nested PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_multiline PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_boolean PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_integer PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_no_quote_strings PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_double_quote_strings PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_single_quote_strings PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_double_quote_strings PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_avoid_escaping_single_quote_strings PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_escaped_double_quotes PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_newlines PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_list PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_abbreviated_dictionary PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_key_nesting PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_add_to_mepty PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_empty_key PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dict_in_list PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_dump_args PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_anchors PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_tagged_scalar PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_numeric PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_remove PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_special PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestYAMLResourceStore::test_quotes_roundtrip PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_create_blank PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_remove PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_find PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_parse PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_files PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_save PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_extensions PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_mimetypes PASSED [ 93%] 194s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_translate PASSED [ 94%] 194s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_markup PASSED [ 94%] 194s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_nonascii PASSED [ 94%] 194s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_list PASSED [ 94%] 194s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby PASSED [ 94%] 194s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_wrong PASSED [ 94%] 194s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_invalid_value PASSED [ 94%] 194s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural PASSED [ 94%] 194s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_empty PASSED [ 94%] 194s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_anchors PASSED [ 94%] 194s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_type_change PASSED [ 94%] 194s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_add PASSED [ 94%] 194s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_blank PASSED [ 94%] 194s tests/translate/storage/test_yaml.py::TestRubyYAMLResourceStore::test_ruby_plural_partial PASSED [ 94%] 194s tests/translate/storage/test_zip.py::TestZIPFile::test_created PASSED [ 94%] 194s tests/translate/storage/test_zip.py::TestZIPFile::test_basic PASSED [ 94%] 194s tests/translate/storage/test_zip.py::TestZIPFile::test_structure PASSED [ 94%] 194s tests/translate/storage/test_zip.py::TestZIPFile::test_getunits PASSED [ 94%] 194s tests/translate/storage/xml_extract/test_misc.py::test_reduce_tree PASSED [ 94%] 194s tests/translate/storage/xml_extract/test_misc.py::test_compose_mappings PASSED [ 94%] 194s tests/translate/storage/xml_extract/test_misc.py::test_parse_tag PASSED [ 94%] 194s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath_component PASSED [ 94%] 194s tests/translate/storage/xml_extract/test_unit_tree.py::test__split_xpath PASSED [ 94%] 194s tests/translate/storage/xml_extract/test_unit_tree.py::test__add_unit_to_tree PASSED [ 94%] 194s tests/translate/storage/xml_extract/test_xpath_breadcrumb.py::test_breadcrumb PASSED [ 94%] 194s tests/translate/tools/test_help.py::test_help[build_tmdb] PASSED [ 94%] 194s tests/translate/tools/test_help.py::test_help[phppo2pypo] PASSED [ 94%] 194s tests/translate/tools/test_help.py::test_help[poclean] PASSED [ 94%] 194s tests/translate/tools/test_help.py::test_help[pocompile] PASSED [ 94%] 194s tests/translate/tools/test_help.py::test_help[poconflicts] PASSED [ 94%] 194s tests/translate/tools/test_help.py::test_help[pocount] PASSED [ 94%] 194s tests/translate/tools/test_help.py::test_help[podebug] PASSED [ 94%] 194s tests/translate/tools/test_help.py::test_help[pogrep] PASSED [ 94%] 194s tests/translate/tools/test_help.py::test_help[pomerge] PASSED [ 95%] 194s tests/translate/tools/test_help.py::test_help[porestructure] PASSED [ 95%] 194s tests/translate/tools/test_help.py::test_help[posegment] PASSED [ 95%] 194s tests/translate/tools/test_help.py::test_help[poswap] PASSED [ 95%] 194s tests/translate/tools/test_help.py::test_help[poterminology] PASSED [ 95%] 194s tests/translate/tools/test_help.py::test_help[pretranslate] PASSED [ 95%] 194s tests/translate/tools/test_help.py::test_help[pydiff] PASSED [ 95%] 195s tests/translate/tools/test_help.py::test_help[pypo2phppo] PASSED [ 95%] 195s tests/translate/tools/test_junitmsgfmt.py::test_output[failure] PASSED [ 95%] 195s tests/translate/tools/test_junitmsgfmt.py::test_output[untranslated] PASSED [ 95%] 195s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_single_po PASSED [ 95%] 195s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPo::test_plural_po PASSED [ 95%] 195s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_single_po PASSED [ 95%] 195s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_plural_po PASSED [ 95%] 195s tests/translate/tools/test_phppo2pypo.py::TestPhpPo2PyPoCommand::test_help PASSED [ 95%] 195s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_zero PASSED [ 95%] 195s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_one PASSED [ 95%] 195s tests/translate/tools/test_pocount.py::TestCount::test_simple_count_two PASSED [ 95%] 195s tests/translate/tools/test_pocount.py::TestCount::test_punctuation_divides_words PASSED [ 95%] 195s tests/translate/tools/test_pocount.py::TestCount::test_xml_tags PASSED [ 95%] 195s tests/translate/tools/test_pocount.py::TestCount::test_newlines PASSED [ 95%] 195s tests/translate/tools/test_pocount.py::TestCount::test_variables_are_words PASSED [ 95%] 195s tests/translate/tools/test_pocount.py::TestCount::test_plurals PASSED [ 95%] 195s tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde XFAIL [ 95%] 195s tests/translate/tools/test_pocount.py::TestCount::test_msgid_blank PASSED [ 95%] 195s tests/translate/tools/test_pocount.py::TestPOCount::test_translated PASSED [ 95%] 195s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzy PASSED [ 95%] 195s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslated PASSED [ 95%] 195s tests/translate/tools/test_pocount.py::TestPOCount::test_total PASSED [ 95%] 195s tests/translate/tools/test_pocount.py::TestPOCount::test_translatedsourcewords PASSED [ 95%] 195s tests/translate/tools/test_pocount.py::TestPOCount::test_fuzzysourcewords PASSED [ 95%] 195s tests/translate/tools/test_pocount.py::TestPOCount::test_untranslatedsourcewords PASSED [ 95%] 195s tests/translate/tools/test_pocount.py::TestPOCount::test_totalsourcewords PASSED [ 95%] 195s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-csv] PASSED [ 95%] 195s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-full] PASSED [ 96%] 195s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-strings] PASSED [ 96%] 195s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=True-short-words] PASSED [ 96%] 195s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-csv] PASSED [ 96%] 195s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-full] PASSED [ 96%] 195s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-strings] PASSED [ 96%] 195s tests/translate/tools/test_pocount.py::test_output[no-color=True-incomplete=False-short-words] PASSED [ 96%] 195s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-csv] PASSED [ 96%] 195s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-full] PASSED [ 96%] 195s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-strings] PASSED [ 96%] 195s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=True-short-words] PASSED [ 96%] 195s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-csv] PASSED [ 96%] 195s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-full] PASSED [ 96%] 195s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-strings] PASSED [ 96%] 195s tests/translate/tools/test_pocount.py::test_output[no-color=False-incomplete=False-short-words] PASSED [ 96%] 195s tests/translate/tools/test_pocount.py::test_cases[po-file] PASSED [ 96%] 195s tests/translate/tools/test_pocount.py::test_cases[po-file-fuzzy] PASSED [ 96%] 195s tests/translate/tools/test_pocount.py::test_cases[po-file-csv] PASSED [ 96%] 195s tests/translate/tools/test_pocount.py::test_cases[xliff-states-yes] PASSED [ 96%] 195s tests/translate/tools/test_pocount.py::test_cases[xliff-states-no] PASSED [ 96%] 195s tests/translate/tools/test_pocount.py::test_error_cases[mutually-exclusive] PASSED [ 96%] 195s tests/translate/tools/test_pocount.py::test_error_cases[missing-file] PASSED [ 96%] 195s tests/translate/tools/test_pocount.py::test_error_cases[no-args] PASSED [ 96%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_ignore_gtk PASSED [ 96%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_keep_target PASSED [ 96%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_blank PASSED [ 96%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_en PASSED [ 96%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_xxx PASSED [ 96%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_bracket PASSED [ 96%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode PASSED [ 96%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_at_placeholders PASSED [ 96%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_single_brace_placeholders PASSED [ 96%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_double_brace_placeholders PASSED [ 96%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_html PASSED [ 96%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_unicode_preserves_multiple_styles_of_placeholder PASSED [ 97%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped PASSED [ 97%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_at_placeholders PASSED [ 97%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_single_brace_placeholders PASSED [ 97%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_double_brace_placeholders PASSED [ 97%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_preserves_html PASSED [ 97%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_flipped_multiple_styles_of_placeholder PASSED [ 97%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified PASSED [ 97%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_at_placeholders PASSED [ 97%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_single_brace_placeholders PASSED [ 97%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_double_brace_placeholders PASSED [ 97%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_preserves_html PASSED [ 97%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_classified_multiple_styles_of_placeholder PASSED [ 97%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_rewrite_chef PASSED [ 97%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_po_variables PASSED [ 97%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_xliff_rewrite PASSED [ 97%] 195s tests/translate/tools/test_podebug.py::TestPODebug::test_hash PASSED [ 97%] 195s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgid PASSED [ 97%] 195s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_msgstr PASSED [ 97%] 195s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations PASSED [ 97%] 195s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_comments PASSED [ 97%] 195s tests/translate/tools/test_pogrep.py::TestPOGrep::test_simplegrep_locations_with_comment_enabled PASSED [ 97%] 195s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_searchstring PASSED [ 97%] 195s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_message_regex_searchstring PASSED [ 97%] 195s tests/translate/tools/test_pogrep.py::TestPOGrep::test_keep_translations PASSED [ 97%] 195s tests/translate/tools/test_pogrep.py::TestPOGrep::test_unicode_normalise PASSED [ 97%] 195s tests/translate/tools/test_pogrep.py::TestXLiffGrep::test_simplegrep PASSED [ 97%] 195s tests/translate/tools/test_pomerge.py::test_str2bool PASSED [ 97%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_mergesore_bad_data PASSED [ 97%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge PASSED [ 97%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_simplemerge_no_locations PASSED [ 97%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_replacemerge PASSED [ 97%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_blanks PASSED [ 97%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_fuzzies PASSED [ 97%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_locations PASSED [ 98%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_with_locations PASSED [ 98%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_unit_missing_in_template_no_locations PASSED [ 98%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_reflowed_source_comments PASSED [ 98%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_comments_with_blank_lines PASSED [ 98%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dont_delete_unassociated_comments PASSED [ 98%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_trailing_newlines PASSED [ 98%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_minor_start_and_end_of_sentence_changes PASSED [ 98%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_format_last_entry_in_a_file PASSED [ 98%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs XFAIL [ 98%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_preserve_comments_layout PASSED [ 98%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merge_dos2unix PASSED [ 98%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_xliff PASSED [ 98%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_po_into_xliff PASSED [ 98%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_xliff_into_po PASSED [ 98%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_dont_merge_kde_comments_found_in_translation PASSED [ 98%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_untranslated_with_kde_disambiguation PASSED [ 98%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_header_entries PASSED [ 98%] 195s tests/translate/tools/test_pomerge.py::TestPOMerge::test_merging_different_locations PASSED [ 98%] 195s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_simple PASSED [ 98%] 195s tests/translate/tools/test_posegment.py::TestPOSegment::test_en_ja_punctuation PASSED [ 98%] 195s tests/translate/tools/test_poterminology.py::TestPOTerminology::test_term_extraction PASSED [ 98%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_pretranslatepo_blank PASSED [ 98%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_simple PASSED [ 98%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_messages_marked_fuzzy PASSED [ 98%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals_with_fuzzy_matching PASSED [ 98%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change XFAIL [ 98%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_change PASSED [ 98%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_location_and_whitespace_change PASSED [ 98%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes XFAIL [ 98%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently XFAIL [ 98%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_dont_duplicate PASSED [ 98%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_automatic_comments_new_overides_old PASSED [ 98%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments_with_blank_comment_lines PASSED [ 98%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_empty_commentlines PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgidcomments PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_plurals PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_resurect_obsolete_messages PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_comments PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_typecomments PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslate::test_xliff_states PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_pretranslatepo_blank PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_simple PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_messages_marked_fuzzy PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals_with_fuzzy_matching PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change XFAIL [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_change PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_location_and_whitespace_change PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes XFAIL [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently XFAIL [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_dont_duplicate PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_automatic_comments_new_overides_old PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments_with_blank_comment_lines PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_empty_commentlines PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgidcomments PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_plurals PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_resurect_obsolete_messages PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_comments PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_typecomments PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_xliff_states PASSED [ 99%] 195s tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_help PASSED [ 99%] 195s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_single_po PASSED [ 99%] 195s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPo::test_plural_po PASSED [ 99%] 195s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_single_po PASSED [ 99%] 195s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_plural_po PASSED [ 99%] 195s tests/translate/tools/test_pypo2phppo.py::TestPyPo2PhpPoCommand::test_help PASSED [ 99%] 195s tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff PASSED [ 99%] 195s tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff PASSED [100%] 195s 195s =============================== warnings summary =============================== 195s tests/translate/storage/test_cpo.py:15 195s Warning: 195s Module 'translate.storage.cpo' was found, but when imported by pytest it raised: 195s ImportError('gettext PO library not found') 195s In pytest 9.1 this warning will become an error by default. 195s You can fix the underlying problem, or alternatively overwrite this behavior and silence this warning by passing exc_type=ImportError explicitly. 195s See https://docs.pytest.org/en/stable/deprecations.html#pytest-importorskip-default-behavior-regarding-importerror 195s 195s tests/odf_xliff/test_odf_xliff.py::test_roundtrip 195s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.qyrjWB/autopkgtest_tmp/tests/odf_xliff/test_2.odt'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_android2po.py::TestAndroid2POCommand::test_convertandroid 195s Warning: unclosed file <_io.TextIOWrapper name='TestAndroid2POCommand_test_convertandroid/en.po' mode='r' encoding='UTF-8'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 195s tests/translate/convert/test_csv2po.py::TestCSV2POCommand::test_columnorder 195s Warning: unclosed file <_io.TextIOWrapper name='TestCSV2POCommand_test_columnorder/test.po' mode='r' encoding='UTF-8'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_pot 195s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_pot/simple.pot'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_simple_po 195s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_po 195s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_po/simple.po'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_oo2po.py::TestOO2POCommand::test_remove_duplicates 195s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_remove_duplicates/simple.po'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_oo2xliff.py::TestOO2POCommand::test_simple_xlf 195s Warning: unclosed file <_io.BufferedReader name='TestOO2POCommand_test_simple_xlf/simple.xlf'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 195s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_columnorder 195s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_columnorder/test.csv' mode='r' encoding='UTF-8'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_po2csv.py::TestPO2CSVCommand::test_context 195s Warning: unclosed file <_io.TextIOWrapper name='TestPO2CSVCommand_test_context/test.csv' mode='r' encoding='UTF-8'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_missing 195s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_no_accesskey 195s tests/translate/convert/test_po2dtd.py::TestPO2DTD::test_accesskey_and_amp_case_amp_no_accesskey 195s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_missing 195s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_no_accesskey 195s tests/translate/convert/test_po2dtd.py::TestPO2DTDCommand::test_accesskey_and_amp_case_amp_no_accesskey 195s Warning: Could not find accesskey for key.accesskey 195s 195s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 195s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file 195s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_recursive_templates_with_single_po_file_and_templates_overwritten 195s Warning: unclosed file <_io.BufferedReader name='translation/file1.po'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_po2html.py::TestPO2HtmlCommand::test_no_template_specified 195s Warning: unclosed file <_io.BufferedWriter name='translated/file1.html'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_po2idml.py::TestPo2IDMLCommand::test_convert 195s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.qyrjWB/autopkgtest_tmp/tests/translate/convert/test.idml'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_po2md.py::TestPO2MD::test_directory_of_markdown_files_with_single_po 195s Warning: unclosed file <_io.BufferedReader name='translation.po'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 195s Warning: unclosed file <_io.FileIO name='input.oo' mode='rb' closefd=True> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_po2oo.py::TestPO2OOCommand::test_default_timestamp 195s Warning: unclosed file <_io.FileIO name='output.oo' mode='wb' closefd=True> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_po2prop.py::TestPO2Prop::test_mozilla_accesskeys_missing_accesskey 195s tests/translate/convert/test_po2prop.py::TestPO2PropCommand::test_mozilla_accesskeys_missing_accesskey 195s Warning: Could not find accesskey for prop.accesskey 195s 195s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert 195s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert/simple.po'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf16 195s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf16/simple.po'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 195s Warning: unclosed file <_io.BufferedWriter name='simple.po'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 195s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_wrong 195s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_wrong/simple.po'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_convert_encoding_utf8 195s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_convert_encoding_utf8/simple.po'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_rc2po.py::TestRC2POCommand::test_menuex 195s Warning: unclosed file <_io.BufferedReader name='TestRC2POCommand_test_menuex/simple.po'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_pot 195s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_pot/simple.pot'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_simple_po 195s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_simple_po/simple.po'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_resx2po.py::TestRESX2POCommand::test_remove_duplicates 195s Warning: unclosed file <_io.BufferedReader name='TestRESX2POCommand_test_remove_duplicates/simple.po'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_xliff2odf.py::TestXLIFF2ODFommand::test_convert 195s Warning: unclosed file <_io.BufferedReader name='/tmp/autopkgtest.qyrjWB/autopkgtest_tmp/tests/translate/convert/test.odt'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_preserve_filename 195s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_preserve_filename/snippet.xlf'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_pot 195s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_pot/simple.pot'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_simple_po 195s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_simple_po/simple.po'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/convert/test_xliff2po.py::TestXLIFF2POCommand::test_remove_duplicates 195s Warning: unclosed file <_io.BufferedReader name='TestXLIFF2POCommand_test_remove_duplicates/simple.po'> 195s Enable tracemalloc to get traceback where the object was allocated. 195s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 195s 195s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 195s tests/translate/filters/test_checks.py::test_skip_checks_per_language_in_some_checkers 195s tests/translate/filters/test_checks.py::test_noaccelerators_only_in_mozilla_checker 195s tests/translate/filters/test_checks.py::test_ensure_accelerators_not_in_target_if_not_in_source 195s Warning: The 'u' type code is deprecated and will be removed in Python 3.16 195s 195s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 195s Warning: DTD parse error: :1:35:FATAL:PARSER:ERR_ENTITY_NOT_FINISHED: xmlParseEntityDecl: entity test.me not terminated 195s 195s tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting 195s Warning: DTD file '' does not validate 195s 195s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 195s --------------------------- snapshot report summary ---------------------------- 195s 23 snapshots passed. 195s =========================== short test summary info ============================ 195s SKIPPED [1] tests/translate/storage/test_cpo.py:15: could not import 'translate.storage.cpo': gettext PO library not found 195s SKIPPED [1] tests/translate/storage/test_fluent.py:29: could not import 'translate.storage.fluent': No module named 'fluent' 195s SKIPPED [1] tests/translate/filters/test_checks.py:1429: Spell checking for af is not available 195s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2PO::test_accelerator_keys_not_in_sentence - Not Implemented 195s XFAIL tests/translate/convert/test_dtd2po.py::TestDTD2POCommand::test_accelerator_keys_not_in_sentence - Not Implemented 195s XFAIL tests/translate/convert/test_po2php.py::TestPO2Php::test_merging_propertyless_template - Need to review if we want this behaviour 195s XFAIL tests/translate/convert/test_po2php.py::TestPO2PhpCommand::test_merging_propertyless_template - Need to review if we want this behaviour 195s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_msgid_change - Not implemented - review if this is even correct 195s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_merging_accelerator_changes - Not Implemented - needs review 195s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2PO::test_lines_cut_differently - Not Implemented - review if this is even correct 195s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_msgid_change - Not implemented - review if this is even correct 195s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_merging_accelerator_changes - Not Implemented - needs review 195s XFAIL tests/translate/convert/test_pot2po.py::TestPOT2POCommand::test_lines_cut_differently - Not Implemented - review if this is even correct 195s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2PO::test_no_duplicates - This is invalid YAML document 195s XFAIL tests/translate/convert/test_yaml2po.py::TestYAML2POCommand::test_no_duplicates - This is invalid YAML document 195s XFAIL tests/translate/filters/test_checks.py::test_acceleratedvariables - Accelerated variables needs a better implementation 195s XFAIL tests/translate/filters/test_checks.py::test_musttranslatewords - FIXME: All fails() tests are not working 195s XFAIL tests/translate/filters/test_checks.py::test_persian_single_and_double_quote_fail_at_the_same_time - Bug #3408 195s XFAIL tests/translate/filters/test_checks.py::test_bengali_mozilla_inverted_xmltags - Bug #3506 195s 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. 195s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_general_placeables - Test needs fixing, disabled for now 195s XFAIL tests/translate/storage/placeables/test_base.py::TestConverters::test_to_xliff_placeables - Test needs fixing, disabled for now 195s XFAIL tests/translate/storage/test_dtd.py::test_quotefordtd_unimplemented_cases - Not Implemented 195s XFAIL tests/translate/storage/test_dtd.py::test_unquotefromdtd_unimplemented_cases - Not Implemented 195s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_comment_following - Not Implemented 196s XFAIL tests/translate/storage/test_dtd.py::TestDTD::test_invalid_quoting - Not Implemented 196s 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 196s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_kde_plurals - Not Implemented 196s XFAIL tests/translate/storage/test_po.py::TestPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 196s XFAIL tests/translate/storage/test_properties.py::TestXWikiFullPage::test_remove - removal not working in full page 196s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_kde_plurals - Not Implemented 196s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_makeobsolete_untranslated - Check differing behaviours between pypo and cpo 196s XFAIL tests/translate/storage/test_pypo.py::TestPYPOFile::test_mixed_newlines_typecomment - Not sure if this can not be parsed gracefully 196s XFAIL tests/translate/storage/test_subtitles.py::TestSubtitleUnit::test_note_sanity - Not Implemented 196s XFAIL tests/translate/tools/test_pocount.py::TestCount::test_plurals_kde - Support commented out pending removal 196s XFAIL tests/translate/tools/test_pomerge.py::TestPOMerge::test_escape_tabs - Not Implemented 196s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_msgid_change - Not Implemented 196s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_merging_accelerator_changes - Not Implemented 196s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslate::test_lines_cut_differently - Not Implemented 196s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_msgid_change - Not Implemented 196s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_merging_accelerator_changes - Not Implemented 196s XFAIL tests/translate/tools/test_pretranslate.py::TestPretranslateCommand::test_lines_cut_differently - Not Implemented 196s =========== 3343 passed, 3 skipped, 39 xfailed, 50 warnings in 9.41s =========== 196s autopkgtest [07:14:41]: test python3-translate-commands: -----------------------] 196s autopkgtest [07:14:41]: test python3-translate-commands: - - - - - - - - - - results - - - - - - - - - - 196s python3-translate-commands PASS 197s autopkgtest [07:14:42]: @@@@@@@@@@@@@@@@@@@@ summary 197s translate-toolkit PASS 197s python3-translate PASS 197s python3-translate-commands PASS